摘要:
迪米特法则又叫最少知识原则。 只和你的直接朋友交谈,不跟“陌生人”说话(Talk only to your immediate friends and not to strangers)。 其含义是:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低 阅读全文
摘要:
B类需要方法1 好处是b类继承A类后就有了方法1的功能,问题是B类被迫有了它不使用的方法2 这个其实是根据方法的职责细分接口,只需要依赖其中一个接口就可以了 这个原则针对的是接口,不适用于抽象类。接口拆分是职责拆分。抽象类是规则定义,不可随意拆分。 接口方法加上defult就可以选择实现了,实现类可 阅读全文
摘要:
高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。 简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。 下面看一个例子来理解依赖倒转原则:组装电脑 现要组装一台电脑,需要配件cpu,硬盘,内存条。只有这些配置都有了,计算机才 阅读全文
摘要:
里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则:任何基类可以出现的地方,子类一定可以出现。通俗理解:子类可以扩展父类的功能,但不能改变父类原有的功能。换句话说,子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。 如果通过重写父类的方法来完成新的功能,这样写起来虽然简单, 阅读全文
摘要:
对扩展开放,对修改关闭,使用接口或抽象类实现 阅读全文
摘要:
开闭原则,里氏代换原则,依赖倒转原则,接口隔离原则,迪米特法则,合成复用原则 阅读全文
摘要:
创建型模式(单例、原型、工厂方法、抽象工厂、建造者)结构型模式(代理、适配器、桥接、装饰、外观、享元、组合)行为型模式(模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器)【BV1Np4y1z7BU】 阅读全文