软件的编码规范

软件编码的规范:
里氏替换原则: 核心思想就是子类可以扩展父类的方法,而不能改变父类原有的功能.
依赖倒置原则: 核心思想是面向接口编程,而不是面向实现编程.例如客户在A商店购物,下一次在B商店购物,我们就需要将商店给抽象出来,不然每次都要修改商店的名字.
单一职责原则: 核心思想就是对象不应该承担过多的职责,否则如果出现错误就会波及整个对象的使用.
在这里插入图片描述
接口隔离原则:核心思想是为了约束接口,降低类对接口的依赖性,将臃肿庞大的接口分解为多个粒度的接口,可以预防外来的变更的扩散,提高系统的灵活性和可维护性.
就拿我们经常的crud的service曾来说,我们可以将增删改查之类的接口给抽象出来,组合成增删改查的父接口,当多个service中出现多个相同的业务类的时候我们可以将相同的业务类抽象出去.从而提高系统的高可用性.

迪米特法则:
优点:降低了类之间的耦合度,提高了模块的相对独立性.由于亲和度降低,从而提高了类的可复用率和系统的扩展性.
缺点:由此产生了很多的中介类,从而增加系统的复杂性,使模块之间的通信效率变低.
例子:
明星由于全身心投入艺术,所以许多日常事务由经纪人负责处理,如与粉丝的见面会,与媒体公司的业务洽淡等。这里的经纪人是明星的朋友,而粉丝和媒体公司是陌生人,所以适合使用迪米特法则,
在这里插入图片描述
合成复用原则: 它要求在软件复用的时候,要尽量先使用组合或者聚合等关联关系来实现,其次再考虑使用继承关系来实现.
合成复用原则的重要性:

  1. 继承复用破坏了类的封装性。因为继承会将父类的实现细节暴露给子类,父类对子类是透明的,所以这种复用又称为“白箱”复用。
  2. 子类与父类的耦合度高。父类的实现的任何改变都会导致子类的实现发生变化,这不利于类的扩展与维护。
  3. 它限制了复用的灵活性。从父类继承而来的实现是静态的,在编译时已经定义,所以在运行时不可能发生变化。

采用组合或聚合复用时,可以将***已有对象纳入新对象中,使之成为新对象的一部分,新对象可以调用已有对象的功能***,它有以下优点。
它维持了类的封装性。因为成分对象的内部细节是新对象看不见的,所以这种复用又称为“黑箱”复用。
新旧类之间的耦合度低。这种复用所需的依赖较少,新对象存取成分对象的唯一方法是通过成分对象的接口。
复用的灵活性高。这种复用可以在运行时动态进行,新对象可以动态地引用与成分对象类型相同的对象。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值