摘要: 1.定义 软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。 2.分析 为什么要优先使用组合? 通常类的复用分为继承复用和合成复用两种,继承复用虽然有简单和易实现的优点,但它也存在以下缺点。 1)继承复用破坏了类的封装性。 因为继承会将父类的实现细节暴露给子类,父类 阅读全文
posted @ 2020-04-19 21:32 windpoplar 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 1.定义 最小知识原则。每个模块只应该了解那些与它关系密切的模块的有限知识。或者说,每个模块只和自己的朋友“说话”,不和陌生人“说话”。 不该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口。 2.分析 高内聚是指相近的功能应该放到同一个类中,不相近的功能不要放到同一个类 阅读全文
posted @ 2020-04-19 18:52 windpoplar 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1.定义 高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 代码要依赖于抽象的类,而不要依赖于具体的类。要针对接口或抽象类编程,不要针对具体实现类编程。 2.分析 为什么使用依赖倒置原则? 1)增加松耦合 抽象接口不改变,具体类实现接口,具体类容易扔掉,更换 阅读全文
posted @ 2020-04-19 16:12 windpoplar 阅读(167) 评论(0) 推荐(0) 编辑