六个原则

单一职责原则

SRP:single responsibility principle

there shall never be more than two reason for a class to change.

尽量的细化接口的职责,然后用一个类去实现这些接口(不要分别实现这些接口然后组合,还不如单一的类实现所有接口),由于面向接口编程,因此对于其他组件来说还是只有一个原因使类发生变化。

但实际中,一个类去实现多个接口有点违反直觉,业务逻辑在设计的时候基本就是一个类一个接口;而且职责的划分很难区分,什么叫单一职责。


接口隔离原则

尽量细化接口的职责,使设计细粒度化,这样对于变化更有承受能力。书中使用美女的例子,goodlooking和nicefigure组成一个接口、temperament单独一个接口,这样对于寻找美女类来说,可以通过传入的参数是否为null判断是气质美女or大美女,而组成一个接口只能判断大美女。

拆分的过程中很明显多了接口多了复杂度,所以还是对于具体逻辑具体分析。


接口隔离与单一职责的关系

接口隔离的底线是单一职责,不要拆分业务逻辑单元,也就是说,接口隔离的底线是单一职责;单一职责的基础上,可以尝试接口隔离。


依赖倒置原则

其实就是面向接口编程。


里氏替换原则

里氏替换为继承提供一个规范,父类出现的地方子类也可以一定可以出现。同时子类也可以带有自己的个性。


迪米特法则

类和类之间应该只通过朋友交谈,朋友的定义为成员变量和成员函数中的输入参数,同时朋友之间应该尽可能的减少通信和彼此依赖,书中举了一个装软件的例子,一个类是装软件的第一步第二步第三步,第二个是调用程序,则这三个步骤的组合应该应该第一个中,减少第二个对第一个的依赖。

迪米特法则中由于能通信的类减少,因此可能会带来一个类和另一个类通信需要中间过渡的问题,一般少于两层过渡是可以容忍的。多了就要重构。


开闭原则

总纲,对扩展开放,对修改关闭。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值