设计模式原则

1:单一职责原则

就一个类而言,应该仅有一个引起它变化的原则。如果一个类承担的职责过多,就等于把这些耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。

如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。

2:开放--封闭原则

软件实体可以扩展,但是不可以修改,即对于扩展是开放的,对于修改是封闭的。而对需求,对程序的改动是通过增加代码来完成,而不是改动现有的代码。

当变化发生时,我们就创建抽象来隔离以后发生同类的变化。开放---封闭原则是面向对象的核心所在,应该对程序中呈现出频繁变化的那部分做出抽象,拒绝对任何都刻意抽象及不成熟的抽象。

3:里氏代换原则

一个软件实体如果使用的是一个父类的话,那么一定使用其子类,而且它察觉不出父类对象和子类对象的区别,也就是说,在软件里,把父类替换成子类,程序的行为没有变化。子类必须能够替换掉他们的父类型。

4:依赖倒转原则

抽象不应该依赖细节,细节应该依赖抽象。即针对接口编程,不要对实现编程,高层模块不能依赖底层模块,两者都应该依赖抽象。依赖倒转原则是面向对象的标志,用哪种语言编写程序不重要,如果编写时考虑如何针对抽象编程,而不是针对细节编程,即对程序的所有依赖关系都终止于抽象类或结构。那就是面向对象设计,反之就时过程化设计。

5:接口隔离原则

接口隔离原则(Interface  Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

接口仅仅提供客户端需要的行为,客户端不需要的行为则隐藏起来,应当为客户端提供尽可能小的单独的接口,而不要提供大的总接口。在面向对象编程语言中,实现一个接口就需要实现该接口中定义的所有方法,因此大的总接口使用起来不一定很方便,为了使接口的职责单一,需要将大接口中的方法根据其职责不同分别放在不同的小接口中,以确保每个接口使用起来都较为方便,并都承担某一单一角色。接口应该尽量细化,同时接口中的方法应该尽量少,每个接口中只包含一个客户端(如子模块或业务逻辑类)所需的方法即可,这种机制也称为定制服务”,即为不同的客户端提供宽窄不同的接口。

6:迪米特法则

如果两个类不直接通信,那么这两个类就不应该发生直接的相互作用。如果一个类需要调用另一个类的某个方法的话,可以通过第三个类转发这个问题。在类的结构设计,每一个类都应该尽量降低成员的访问权限。该法则在适配器模式,解释模式等有强烈体现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值