Single Responsibility Principle
一个类不要太大,别负责太多功能,负责单一职责
面向对象设计的指导方针,Open-Closed Principle
对扩展开放,对修改关闭,尽量不修改源代码的情况下进行拓展
抽象化、多态是开闭原则的关键
Liscov Substitution Principle
所有使用父类的地方,必须能够透明地使用子类对象
面向对象设计的基本原则、子类继承父类的时候,除了添加新的方法完成新增功能外,尽量不要重写父类的方法,也尽量不要重载父类的方法
例如,企鹅、鸵鸟和几维鸟从生物学的角度来划分,它们属于鸟类。但是从类的继承关系来看,由于它们不能继承鸟类会飞的功能,所以它们不能被定义成鸟类的子类。如果要强行定义为鸟类的子类,则有一些行为是需要重写鸟类的行为的,这样就违背了里氏替换原则
正确的做法应该是取消几维鸟原来的继承关系,定义鸟类和几位鸟类的更一般的父类
Dependency Inversion Principle
依赖抽象,而不是依赖具体,面向抽象编程
面向对象的设计原则?面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变化时,上层也要跟着变化,这就会导致模块的复用性降低而且大大提高了开发的成本
面向对象的开发很好的解决了这个问题,一般的情况下抽象的变化概率很小,让用户程序依赖于抽象,实现的细节也依赖于抽象。即使实现细节不断变化,只要抽象不变,客户程序就不需要变化。这大大降低了客户程序域实现细节的耦合度
Interface Segregation Principle
每一个接口应该承担独立的角色,不添加多余的功能
避免子类实现不需要实现的方法,避免暴露不需要的功能
面向对象程序设计原则,Law of Denmeter
类与类关系越密切,耦合度越大
一个对象应该对其他对象保持最少的了解,外除了提供的 public 方法,不泄露任何信息
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态