面向对象的设计原则!

最近看了Java与模式这个pdf文档,学习了里面的设计模式:

1.开-闭原则
2.里氏代换原则
3.依赖倒置原则
4.合成/聚合复用原则
5.迪米特原则
6.接口隔离原则

For DIP -- 依赖倒置的解释

Hollywood 原则:Don't call us,We'll call you

高层模块不应该依赖于低层模块,二者都应该依赖于抽象,
高层模块包含了一个应用种的重要策略选择和业务模型,正是这些高层模块才使得其所在的应用程序区别于其他。如果它依赖于底层模块,那么底层模块的改动会直接影响到高层模块,从而迫使他们依次错误改动,这是非常荒谬的!(Martin写的太精彩了,这也正是过程化设计的问题所在)

DIP是FrameWork设计的核心原则,它体现了接口所有权的倒置:客户拥有接口!!

总结:无论采用何种语言来编写程序,如果程序的依赖关系是倒置的,它就是面向对象的设计。如果程序的依赖关系不是倒置的,他就是过程化的设计

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章