软件设计六大原则

1、[Single Responsibility Principle] 单一职责原则:

[优化代码的第一步] —— 一个功能类只负责单一功能或一类的功能。
例如:图片加载库:一个类负责加载功能,一个类负责缓存数据功能)

2、[Open Close Principle] 开闭原则:

[让程序更稳定、更灵活] —— 对扩展开放【尽量通过继承的方式去扩展实现,一般修改源代码和扩展代码会同时存在】,对修改关闭【尽量禁止修改原先的类的代码】),遵守开闭原则的手段就是 [抽象](接口,或者抽象类)。

3、[Liskov Substitution Principle] 里氏替换原则:

[构建扩展性更好的系统] —— 它依赖于继承和多态两大特性,所有引用基类的地方必须能透明的使用其子类的对象,相反地,有子类出现的地方父类未必能适应。里氏替换原则的核心原理是 [抽象],抽象又依赖于继承这个特性.
继承的优点:
	(1)代码重用,减少创建类的成本,每个子类都拥有父类的方法和属性;
	(2)子类与父类基本相似,但又与父类有所区别;
	(3)提高代码的可扩展性。
继承的缺点:
	(1)继承是侵入性的,只要继承就必须拥有父类的所有属性和方法;
	(2)可能造成子类代码冗余、灵活性降低,因为子类必须拥有父类的属性和方法。

	开闭原则和里氏替换原则往往是生死相依、不弃不离的,通过里氏替换来达到对扩展开放,对修改关闭的效果。然而,这两个原则都同时强调了一个 OOP 的重要特性——抽象。

4、[Dependence Inversion Principle] 依赖倒置原则:

该原则有以下几个关键点:
	(1)高层模块不应该依赖低层模块,两者都应该依赖其抽象;
	(2)抽象不应该依赖细节;
	(3)细节应该依赖抽象。
	在Java语言中,抽象就是指接口或抽象类,两者都是不能直接被实例化的;细节就是实现类,实现接口或继承抽象类而产生的类就是细节。
	高层模块就是调用端,低层模块就是具体实现类。依赖倒置原则在Java 语言中的表现就是:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。
	面向接口编程,或者说是面向抽象编程,这里的抽象指的是接口或者抽象类。面向接口编程是面向对象精髓之一,也就是开闭原则和里氏替换原则强调的抽象。

5、[Interface Segregation Principles] 接口隔离原则:

[系统有更高的灵活性] —— 客户端不应该依赖它不需要的接口。另一种定义是:类间的依赖关系应该建立在最小的接口上。接口隔离原则将非常庞大、臃肿的接口拆分成更小的和更具体的接口.
接口隔离原则的目的是系统解耦,从而容易重构、更改和重新部署。

6、[Law of Demeter || Least Knowledge Principle]迪米特原则:

[更好的可扩展性] —— 一个类应该对自己需要耦合或调用的类知道得最少,类的内部如何实现与调用者或者依赖者没关系,调用者或者依赖者只需要知道它需要的方法即可,其他的可一概不用管。
类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值