摘要: 七、合成复用原则1、目的防止类的体系庞大 2、定义它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。 如果要使用继承关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现规范。 3、注意事项和细节(1)通常的复用分 阅读全文
posted @ 2023-02-25 13:26 好眠 阅读(29) 评论(0) 推荐(0)
摘要: 六、迪米特法则1、目的降低类与类之间的耦合度 2、定义迪米特法则又叫最少知道原则,即一个类对自己依赖的类知道的越少越好,对于依赖的类不管有多复杂,都尽量将逻辑封装在类的内部,对外除了提供public方法,不泄漏任何信息。 更简单的说法:只与直接朋友通信。 直接朋友:每个对象都会与其它对象有耦合关系, 阅读全文
posted @ 2023-02-25 13:25 好眠 阅读(33) 评论(0) 推荐(0)
摘要: 五、开闭原则1、目的提高扩展性、便于维护 2、定义对扩展开放(对提供方),对修改关闭(对使用方)。 当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现。 开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定灵活的系统,开闭原则只定义了对修改关闭,对扩展 阅读全文
posted @ 2023-02-25 13:25 好眠 阅读(23) 评论(0) 推荐(0)
摘要: 四、里氏替换原则1、目的避免系统继承体系被破坏 2、定义所有引用基类的地方必须能透明地使用其子类的对象。 3、具体实现(1)子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法; (2)子类可以增加自己特有的方法; (3)当子类覆盖或实现父类的抽象方法时,方法的前置条件(即方法的形参)要比父类方 阅读全文
posted @ 2023-02-25 13:25 好眠 阅读(28) 评论(0) 推荐(0)
摘要: 三、依赖倒转原则1、目的避免需求变化导致过多的维护工作 2、定义高层模块不应该依赖底层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。每一个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是低层模块(一般是接口,抽象类),原子逻辑的组装就是高层模块。在Java语言中,抽象就是指 阅读全文
posted @ 2023-02-25 13:24 好眠 阅读(31) 评论(0) 推荐(0)
摘要: 二、接口隔离原则1、目的避免接口过于臃肿 2、定义客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。 3、具体实现适度细化接口,将臃肿的接口拆分为独立的几个接口。 4、优点(1)将臃肿庞大的接口分解为多个粒度小的接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。 阅读全文
posted @ 2023-02-25 13:23 好眠 阅读(24) 评论(0) 推荐(0)
摘要: 一、单一职责原则1、目的降低代码复杂度、降低系统耦合度、提高可读性 2、定义对于一个类,只有一个引起该类变化的原因;该类的职责是唯一的,且这个职责是唯一引起其他类变化的原因。 3、具体实现将不同的职责封装到不同的类或者模块中,当有新的需求将现有的职责分为颗粒度更小的职责的时候,应该及时对现有代码进行 阅读全文
posted @ 2023-02-25 13:23 好眠 阅读(38) 评论(0) 推荐(0)
摘要: 用抽象构建架构,用实现扩展细节。 单一职责原则:实现类要职责单一;接口隔离原则:在设计接口的时候要精简单一;依赖倒转原则:面向接口编程;里氏替换原则:不要破坏继承关系;开闭原则原则:对扩展开发,对修改关闭;迪米特法则:最少知道原则;合成复用原则:先考虑组合或聚合,后考虑继承; 阅读全文
posted @ 2023-02-25 13:21 好眠 阅读(29) 评论(0) 推荐(0)
摘要: 设计模式的几种原则1、单一职责原则对于一个类,只有一个引起该类变化的原因;该类的职责是唯一的,且这个职责是唯一引起其他类变化的原因。 2、接口隔离原则客户端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。 3、依赖倒转原则依赖倒转原则是程序要依赖于抽象接口,不要依赖于具体实现 阅读全文
posted @ 2023-02-25 13:20 好眠 阅读(22) 评论(0) 推荐(0)
摘要: 设计模式(Design pattern) 是解决软件开发某些特定问题而提出的一些解决方案也可以理解成解决问题的一些思路。通过设计模式可以帮助我们增强代码的可重用性、可扩充性、 可维护性、灵活性好。我们使用设计模式最终的目的是实现代码的高内聚和低耦合。 1、创建型模式对象实例化的模式,创建型模式用于解 阅读全文
posted @ 2023-02-25 13:20 好眠 阅读(33) 评论(0) 推荐(0)