设计模式初学习之六大原则

六大原则:

书上这么说,有些不太懂。

一,单一职责原则(single responsibility princple---srp)

定义:应该有且仅有一个原因引起类的变更。(there should never be more than one reason for  a class to change)

适用于接口,类,方法设计。

在实际运用中因多种因素很难划分单一职责。划分过细会增加设计复杂度,成本等。因项目,环境而异。

优点:类的复杂性降低,可读性高,可维护性高,可扩展

二,里氏替换原则(liskov substitution princple--lsp)

定义:继承,子类可以替换父类,父类不一定能替换子类。

优点:代码重用,减少创建类的工作量,子与父不同多态,扩展性,开放性

缺点:降低代码灵活性,增强耦合,继承是侵入性

继承规范:1,子类必须完全实现父类的方法

                  2,子类可以有自己的个性

                  3,覆写或实现父类的方法时输入参数可以被放大

                  4,覆写或实现父类的方法时输出结果可以被缩小(感觉是继承的语法规则)

书中建议尽量避免子类的个性  使用子类时缺乏类替换标准

三,依赖倒置原则(dependence inversion princple--dip)

定义:高层模块不依赖底层模块,两者都依赖其抽象

           抽象不依赖细节,细节依赖抽象    概括就是面向接口编程(没啥经验体会)

四,接口隔离原则()

定义:客户端不依赖不需要的接口

           类间的依赖建立在最小的接口上

一个对外接口对应一个模块(不提供不需要的方法不管是否按规矩不调用)

类间同上不提供多余的接口方法,也即接口的细分(单一职责)。细分适度又是p

五,迪米特法则

定义:一个对象应该对其他对象有最少的了解,(只关心自己用的其他一概不关心)

核心观念就是类间解耦,弱耦合,提高复用,其结果产生大量的中转或跳转类   适可而止

六,开闭原则

变化时添加而不是修改,预留扩展接口,上述五大原则是其具体实现。

言而总之,总而言之,需求变了,你要改,系统要经的住,不能改崩了,改的还要少,越多越危险  稳定

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值