`
javachs
  • 浏览: 120413 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

设计模式解析

    博客分类:
  • java
阅读更多
1. 基于设计模式的分析和设计
2. 功能分解和委托
3. 我可能无法知道什么将会变化,但是我能猜到在那里会变化
4. 找教室,责任的转移,告诉学生你要他做什么,而非如何去做
5. 只要概念不变,请求者就与实现细节的变化隔开了
6. 使用对象的优点在于,可以定义自己负责自己的事物
7. 理解对象的最佳方式,是将其看成“具有责任的东西”,对象应该自己负责自己
8. 在概念层次,抽象类就是其他类的占位符
9. 对象都自己负责自己,所以有很多东西不需要暴露给其他对象,这引出了封装的概念。(public,protected,private)
10. 对象对自己行为所负的责任越多,控制程序需要负的责任越少,封装使对象内部行为的变化对其他对象变得透明了。
11. 当一个类是“一种”另一个类时:is-a(是一种/一个)关系(实现),一个类“包含”另一个类时:has-a(拥有一个)关系(组合和聚集),一个类“使用”另一个类时: use-a(使用一个)关系(关联)。
12. 正确的分析和设计要求我们在互相矛盾的关注点之间找到平衡,必须决定问题的那些方面是设计的重点。
13. 分析的陷阱:过早的陷入细节
14. 留意你的直觉
15. 设计模式背后的一个观点,就是软件系统的质量可以客观度量
16. 模式的定义是:在某一背景下某个问题的一种解决方案
17. 按接口编程,尽量用聚合代替继承,找出变化并封装之 
18. Façade模式为系统中的一组接口提供一个统一的接口
19. 管理层所受的压力是交付产品而不是维护
20. Bridge模式将抽象与实现解藕,使他们都可以独立地变化
21. Decorator模式动态给一个对象添加一些额外的职责,就增加功能来讲,Decorator模式比生成子类更为灵活
22. Observer模式:定义对象间的一种一对多的依赖关系,当一个对象的状态改变时,所有依赖与它的对象都将得到通知并自动更新
23. TemplateMethod模式:定义一个操作中算法的骨架,而将一些步骤延迟到子类中,不改变算法的给构而重新定义她的步骤 


 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics