设计模式笔记

软件设计原则

软件的设计原则是设计模式的内核,所有的设计模式都是围绕着软件设计原则展开,将网上设计原则的内容做一个相应的总结,设计原则有以下几点:

  • 单一职责原则一个类或者模块应当只负责一项任务或功能,换而言之,就一个类而言,应该只有一个引起它变化的原因。 例如一个类负责了输入数据、处理数据、保存数据,对于这个类而言就有三个变化的原因。

  • 开闭原则软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。 应当在不修改源码的情况下添加新功能,从而提高软件的灵活性、可维护性和可拓展性。通常实现开闭原则可以利用一些设计模式来实现。

  • 里氏替换原则任何父类(基类)可以出现的地方,子类(派生类)也一样可以出现。 子类(派生类)对父类(基类)进行拓展,但不能改变父类(基类)原有的功能,保证继承的稳定性和正确性,例如一个函数可以接受父类(基类)对象,那么也可以接受子类(派生类)对象,接收子类(派生类)对象时并不会影响到函数逻辑和结果。

  • 接口隔离原则客户不应该依赖它们用不到的方法,只给每个客户它们所需要的接口 ,避免客户端实现一些无用的方法,提高接口的内聚和灵活,如果一个接口实现的过于臃肿可以拆分成多个,每一个接口服务于一个子模块。

  • 依赖倒置原则高层模块不应该依赖于底层模块,两者都应该依赖于抽象;抽象不应该依赖细节,细节应该依赖抽象。 可以降低类于类之间的耦合性,提高系统的稳定性、可读性和可维护性,并且能够降低修改程序所造成的风险。

  • 迪米特法则一个软件实体尽可能少的与其他实体发送相互作用。 降低系统的负责度,提高模块的内聚性,降低模块之间的耦合性。

  • 合成复用原则在软件复用时,尽量先使用组合或者聚合等关联关系来实现,其次才考虑继承关系来实现。 增加系统的灵活性,降低类与类之间的耦合度,提高代码的复用。

在许多时候一个类的设计是没办法遵循说有的原则,设计模式也是如此,设计模式本身就是围绕着设计原则展开的,例如抽象工厂模式,它所遵循的设计原则有单一职责原则和开闭原则,因此可以搭配其他的设计模式一起来完成一个模块的设计。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值