《代码大全》读书笔记三

来源:互联网 发布:q币赚钱软件 编辑:程序博客网 时间:2024/05/01 00:22

第五章软件构建中的设计
PART1
1.要点:在具体实现之前的一些伪代码的定义,如一些类的关系图。根据需求进行分析设计,先是思维导图勾勒好相关的逻辑关系,相关的元素;然后采用关系语言进行写好伪代码,该类的方法、变量等,以及其相关的干系、数据库、UI界面、前台、后台、通信等等采用什么方式都要进行详述的规划。
2.在计划当中(前),应该想到各种外围的元素
3.设计是无章可循的,每一次都是新的,不过有规律规则。没有最好,只有更好
4.设计就是明确要做什么,怎么做,换而言之,就是确定取舍和调整顺序的过程
5.在设计过程中要明确一些东西:设计受到诸多的限制,而且是不确定的,一个探索启发性的过程,在不断的评估中而自然而然的。
6.决定性的设计:设计概念
7.解决设计复杂度的要点:
8.最好的设计范畴:最小的复杂度,便于维护、松散耦合、扩展性、可重用性、高桑入、可移植性、精简性、层次性、标准技术、
9.开始工作设计层次:对于一个大的软件,最关键的设计莫过于进行分层
-软件系统,从包或者类出发
-分解为子系统或者包:数据库、用户界面、业务规则、命令解析器、报警引擎,每一个子系统的通信规则,图形。深入点的就涉及到对操作系统的依赖性等
-分析为类:子系统拆分为类
-将类分解成子程序:私有或者共有等
-子程序的内部设计
PART2
1.设计构造块:启发式方法
-对对象进行设计的步骤:
A`辨识对象及其属性(方法和数据)
:对象的数据、方法体。图形界面就是窗体、对话框按钮、字体、画工等等
B`确定可以对各个对象进行分析的操作
:可以修改该对象的操作,方便初始化、日后更改等工作
C。确定各个可以对其他对象进行的操作
:对象间的关系,包含、继承等的复杂关系
D。确定对象的那些部分的对其他对象是可见的(public),不可见的(private)

E。定义每个对象的接口
:??
2.形成一致的对象
-只看共性,不看异性。抽象为一体。将复杂的东西简单化,将乱而多的间缩而精炼进行封装
3.封装填充抽象实现细节
4.当继承能够简化设计时就继承,减少多余的对象,辅助丰厚抽象
5.信息隐藏:黑盒子
6.找出容易改变的区域
-A找出易于改变的额项目
-B把易于改变的项目分离出来划分成类
-C业务规则
-D对硬件的依赖性
-E输入输出设备
....
7.耦合标准
8.查阅常用的设计模式
常见的设计模式有:
-AbstractFactory抽象工厂
-Adapter适配器
-Bridge桥接
-Composite组合
-Decrorator装饰器
-Factory Method
-Iterator迭代器
-Observed观察者
-Singleton单间
-TemplateMethod模版方法

PART 3
设计实践
1.设计要点
-分解
-建立试验性模型
-细化
-及时记录讨论&设计成果(多种形式,如文字、邮件、UML建模)
-关注前沿技术流行的设计方法进行讨论
参考书:《Design Patterns Explained》