随笔分类 -  Design Principle

摘要:高层模块不应该依赖于低层模块。二者都应该依赖于抽象。 抽象不应该依赖于细节。细节应该依赖于抽象。 1、依赖倒置原则(dependency inversion principle) 为什么在这条原则的名字中使用“倒置”这个词。这是由于许多传统的软件开发方法,比如结构化分析和设计,总是倾向于创建一些高层 阅读全文
posted @ 2022-07-14 08:04 Harley-Chang 阅读(719) 评论(0) 推荐(0) 编辑
摘要:这个原则用来处理“胖(fat)”接口所具有的缺点。如果类的接口不是内聚的(cohesive),就表示该类具有“胖”的接口。换句话说,类的“胖”接口可以分解成多组方法。每一组方法都服务于一组不同的客户程序,如果你是使用C#/Java这种面向对象编程语言的话,可以理解每一组方法都服务于不同的对象。这样一 阅读全文
posted @ 2022-07-12 08:14 Harley-Chang 阅读(746) 评论(0) 推荐(0) 编辑
摘要:OCP背后的主要机制是抽象(abstraction)和多态(polymorphism)。在静态类型语言中,比如C++和Java,支持抽象和多态的关键机制之一是继承(inheritance)。正式使用了继承,我们才可以创建实现其基类(base class)中抽象方法的派生类。 是什么设计规则在支配着这 阅读全文
posted @ 2022-05-29 23:41 Harley-Chang 阅读(594) 评论(0) 推荐(0) 编辑
摘要:1、开放封闭原则(open—closed principle) 软件实体(类、模块、函数等等)或者说我们在面相对象编程时,应该是可以扩展的,但是不可修改的。 如果程序中的一处改动就会产生连锁反应,导致一系列相关模块的改动,那么设计就具有僵化性的臭味。OCP建议我们应该对系统进行重构,这样以后对系统在 阅读全文
posted @ 2022-05-22 22:46 Harley-Chang 阅读(649) 评论(0) 推荐(0) 编辑
摘要:1、单一职责原则(single responsibility principle): 就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的(fragile)设计,当变化发生 阅读全文
posted @ 2022-05-15 15:19 Harley-Chang 阅读(400) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示