设计原则

index:

1,单一职责原则

2,开关原则

3,里氏替换原则

4,依赖倒置原则

5,接口隔离原则

6,迪米特法则

 

 

1.单一职责原则(策略模式):一个类或者方法只能做一件事情,

    应用:在构造对象时,将对象的不同职责分离到两个到多个类中,确保引起该类变化的原因只有一个。
   
    例子:在我们的状态模式中,每个状态都有与之相对应的行为。这就很好的体现了单一职责原则。
   
    优点:提高内聚,减少耦合度。
   
    缺点:可能会导致资源文件过多,而管理不便。
   

2.(Open-close-principle 开关原则)体现的模式:策略模式,装饰器模式,模板模式
   
    对扩展是开放的,对修改是封闭的,即在不修改源码的情况下对其进行扩展,
   
    我们的面向接口编程,这就有效的体现了这一原则。
   
    比如说我们的一个项目需要进行增加一个功能。就增加一个实现类就可以。不需要修改它的源代码。
   
    好处:提高了灵活性,可重用性,可维护性。
   
    难点:OCP的关键是抽象父类,或者接口,创建正确的抽象发费时间和精力,也增加了软件设计的复杂性。
   
    正确的做法:只对程序中频繁变化的做出抽象。


   
3.里氏替换原则(LSP)(工厂模式)

    定义:用子类去替换父类。即凡是父类能够出现的地方,子类就一定能够出现,反之则不成立。

    工厂模式就很好的实现了这一原则,比如说dao层,父类并不知道是生成那一个子类的对象。
   
    而我们的子类是知道它实现的是那个接口。
   
    这样子类替换就非常的容易。可以在无需修改的情况下进行修改。

    LSP使OCP成为可能的主要原则之一,
   

4.依赖倒置原则:(模板模式)

   定义:高层模板不依赖于底层模板,它们都应该依赖于抽象。
               
                    抽象不应该依赖于细节,细节应该依赖于抽象。
                   
                    也就是说它父类不应该依赖子类的东西。
   
    例子:拿我们项目中来说,比如说dao,和dao的实现,我们dao层不应该知道dao实现的具体的操作。
   
    如果dao层需要修改的话,那么还会影响到dao的实现,这样耦合度就非常的高。
               
   
5.接口隔离原则:(观察者模式)


    定义:不要强迫客户依赖于它们不用的方法。
   
    让一个类对另外一个类的依赖性应当是建立在最小的接口上的。
   
    例子:如果我们一个类需要一些方法,避免实现方法过多的接口。
   
    作用:避免接口污染
    
     一个接口代表一个角色,不应当将不同的角色都交给一个接口。
     

6.迪米特原则 (体现了门面模式)


    定义:又叫最少知识原则,一个对象对其他对象应该有尽可能少的了解,这是一个送耦合的的法则。
   
    例子:我们在程序中通常把能私有化的属性,方法,都要尽量的私有化。
   
    这样我们修改一些模板对其他模板的影响就少些,使代码也更加安全。
   
    我们可以使用门面模式来实现这一原则,门面模式就是隐藏子系统的复杂性。与客户程序打交道
   
    只有一个类而已。
   
    缺点:在系统中造出大量的小方法,管理不要方便。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值