一句话讲明白 六大设计原则

单一职责原则

一个类只负责一件事情。

比如UIView 和 CALayer 的关系,UIView 负责响应用户交互。CALayer 负责视图显示。

接口隔离原则

协议负责的功能分离,避免臃肿协议

胖接口中的方法分组,然后用多个接口替代它,每个接口服务于一个子模块。简单地说,就是使用多个专门的接口比使用单个接口要好很多。

比如tableView 的 dlelegate 和 dataSource ,前者负责事件的回调,后者负责数据的传送。

里氏替换原则

子类可以完全的替换掉父类,并且功能不受影响。

比如KVO的实现原理中,当 object 对象的 addObserver····方法被调用时,系统就会对 object 创建子类 NSKVONotifying_object , ISA指针指向子类。此时子类继承了完整了父类功能。

开闭原则

对修改关闭,对扩展开放

依赖倒置原则

抽象不依赖于具体实现,具体实现可以依赖于抽象。

比如一个人员信息进行获取展示的功能,对“人”这个类通过属性定义组合进行抽象,但是属性信息的来源是来自文件,或是来自数据库,或是来自两者的组合,并不需要在业务层面进行暴露。所以抽象不依赖具体实现,但是不管实现层面是什么渠道或者方案,“人”这个抽象的类必须要完整的属性定义才能在业务层使用。实现层面的数据来源和方案都是要服务于抽象的。

迪米特法则

又叫做最少知道原则,一个类要尽量减少对其他类的了解,尽量减少依赖

高内聚,低耦合

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值