软件的设计原则

    以下对于软件设计思想的总结来源日常。

    总的软件设计规则;高内聚,低耦合。其实通俗的讲一个软件项目的设计,各个模块与功能不要互相牵扯太多。

    关于设计模式的六大原则:

1、单一职责原则:一个类只负责一项功能或者原则

解决的问题:当类A有两个功能或者职责,当需要变更其中一项功能时,另一项的功能极有可能受损甚至失效。

2、里氏替换原则:使用继承时,一个类继承一个类,尽量不要重写或重载父类的方法,除非是添加新的方法。

解决的问题:防止父类方法的改写导致继承类的不可控影响。

3、依赖倒置原则:高级模块不应该依赖于低级模块,细节应该依赖于抽象。

解决的问题:高级模块类A依赖于类B,如果修改成依赖于类C,则需要修改类A,但是由于高级类A可能有一些子类,如果修改可能需要随之子类的修改,同时会带来不可控的影响。不如可以设置一个中间接口,让类A依赖于接口D,同时让类B还有类C都实现接口D,这样类A都间接与类B与类C产生联系。

4、接口隔离原则:一个模块不应该依赖或者实现它不需要的接口,一个类与一个类的联系的接口应该是紧凑的。

解决的问题:类A与类B的联系通过接口D,但是接口D里有许多多余的方法,这样就需要将接口D拆分成小的接口。

5、迪米特法则:当一个类与另一个类联系越紧密,两者的耦合度就会越高,那么一个类的修改对另一个的影响就会越大。

解决的问题:当设计类的时候要考虑相邻类的耦合度。

6、开闭原则:一个软件实体如类、函数等应该实现对外扩展开放,对内修改关闭。

解决的问题;一个类的修改,修改的抽象级别越高,影响的深度就会越大,尽量对扩展的功能去增加行为,而不是修改现行的代码。

    一句话,虽然存在着六大原则,但是这些宽泛话在实际软件设计的过程一般是适度考虑,实际取决于软件开发者的个人素养与视野。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值