软件开发的设计原则

据我了解 ,软件的开发原则有六大原则

开闭原则:开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

单一职责原则 : 单一职责原则是最简单的面向对象设计的原则,一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因,单一职责原则是实现高内聚、低耦合

接口隔离原则:使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖哪些它不需要的接口。,一个类对另一个类的依赖应该建立在最小的接口上

里氏代换原则所有引用父类的地方都能够透明地使用其子类对象,反过来则不成立
这里叫一个例子:
【例如】
我说我喜欢动物 , 那么可以推断我肯定喜欢狗 , 因为狗是动物
但是 如果我说我喜欢狗,你不能说我喜欢动物,因为我不喜欢猫和老鼠,因为猫和老鼠都是动物

迪米特法则一个软件实体应当尽可能少地与其他实体类发生相互作用
就是说不要跟陌生人讲话 , 有事跟你朋友说

依赖倒换原则 : 抽象不应该依赖细节,而细节应该依赖于抽象。
在这里插入图片描述
换言之就是我们经常所讲的面向接口编程 , 面向抽象编程 , 依赖倒换原则要求我们在代码传递参数时或关联关系时,尽量引用层次较高的抽象类,即使用接口和抽象类进行变量类型的声明(例如多态机制)参数类型声明、方法返回值类型声明,以及数据类型的转换等,而不要用具体类来指定。
也因此。为了确保该原则的应用,一个具体类应当只实现接口或抽象类中声明过的方法,而不要给出多余的方法,否则将无法调用到在子类中增加的新方法。

合成复用原则
我认为这个原则 不太重要而且一些书上也没有提出该原则的一些介绍。在这里补充一下。
1)找出应用中可能需要变化之处,把他们独立出来。不要和不需要修改的代码混在一起
2)针对接口编程,而不是针对实现编程
3)为了交互对象之间的松耦合设计而努力

以上就是我们软件设计中经常用到的设计原则, 其实我们说不用这些设计原则能不能编程,当然能,但是我们总说,在一个项目团队中,约定优于配置 这句话也就是说,我们也是按照约定编程,别人都是这样做,那你必须也这样,也因此经验越久的程序员也是遵守这些原则。

此外,也有统计发现, 在一个项目团队中,想法比较活跃的都是刚进团队的年轻人,并不是说年龄大一点的程序员想法就少,而是基本都遵守公司的一套开发流程和开发规则,而年轻人有时候喜欢按照自己的想法来,虽然最后结果也能实现,但是可能在后期的开发中,没人需要的功能模块你写的完全不一样,这样别人调用时候得不到想要的结果

这里就谈到分布式开发(例如Dubbo框架) 所有 大家还是能够遵守这些共同约定俗成的设计原则。

好了。晚安 ,不知道为什么北京这么冷了,让我一个武汉人怎么说的了啊。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值