面向对象:隐藏的艺术,分责的艺术 -读design patterns explain
这几天看了Design patterns explain.收获很大,结合之前看的Head First Pattern、敏捷软件开发,写写读书笔记:
本书作者希望我们用全新的观点来看待面向对象设计:
面向对象设计开发,对象是中心,因此如何理解对象是最重要的:
1、理解对象是一个职责体,从高处看,系统解构成不同的职责体,各司其责,自己要对自己负责,做完做好所有应该做的事,也不要越俎代庖帮别人做事,别人的事让别人自己做,需要的参数通过接口传递过去就可以了,仅最大努力保持对象的独立性、内聚性。
2、理解对象的目的是隐藏,隐藏一切需要隐藏的东西,不仅仅是对象、方法。主要是隐藏变化、隐藏具体实现、隐藏代理、委任等等。
3、设计模式的作用是应对反复出现的场景,运用设计模式不要想一劳永逸,未来是不可知的。先满足当前的场景,未来的变化留给以后处理。
4、设计模式何时出现取决于何时产生变化,在变化点重构你的设计,封装你的变化,看需要应用设计模式。
5、组合优于继承,组合避免了继承接口污染的缺陷。
6、掌握模式的模式,如MVC对于架构来说都是很好的工具。