面向对象设计原则

  • 可复用:继承的优点
  • 可扩展性(Extensibility):容易添加新的功能
  • 可维护性:代码容易修改,只改需要改的地方,不会牵连其他地方
  • 可插入性(Pluggability):容易将一个类抽出去,同 时将另一个有同样接口的类加入进来

  • 重构(Refactoring):就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的可扩展性和可维护性
  • 软件实体:类、模块、函数等
  • 开闭原则:面对新需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码
  • 依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依赖抽象。抽象不应该依赖细节,细节应该依赖于抽象。通俗来说就是,要针对接口编程,不要对实现编程
  • 单一职责原则:一个类,应该仅有一个引起它变化的原因
  • 里氏代换原则:一个软件实体如果使用的是一个父类的话,那么换成子类也适用,而且它察觉不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序行为没有变化。简单来说:子类必须能够直接替换它的父类,子类执行相关操作的结果必须和父类是一样的。子类抛出了父类不可能会抛出的异常,这就违反里氏替换原则
  • 接口隔离原则:不要在一个接口中定义太多方法,太多方法会让接口的实现类变得非常臃肿,应该把这些方法合理的拆分到不同的多个接口中去。客户端不应强迫实现接口中其并不适用的所有方法
  • 合成(composition)/聚合(aggregation)复用原则:尽量使用合成/聚合,尽量不用使用继承。好处是:优先使用对象的组合/聚合将有助于保持每个类被封装,并被集中在单个任务上。这样类和类的继承层次会保持较小的规模,并且不太可能增长为不可控制的庞大复杂的系统。(继承是一种强耦合结构,父类变,子类就必须变)
  • 迪米特法则:强调了类之间的松耦合。每个类都应当尽量降低成员的访问权限。类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。也就是说,信息的隐藏促进了软件的复用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值