设计模式第1天 设计模式6大原则1

开闭原则

定义:软件实体对于拓展应该是开放的,但是对于修改应该是封闭的。
问题描述:软件在开发的过程中,会存在功能的拓展,在进行功能拓展的过程中,遵守开闭原则尽量减少原有代码的修改,而是进行新的代码的拓展。在JAVA语言定义中,开闭原则的实现即为抽象类,在进行功能的具体添加时,只需要对抽象方法进行实现即可。
在这里插入图片描述

单一职责

定义:对于一个类而言,应该仅仅只有一个引起它变化的原因。
问题描述:一个类C只负责一个职责P,如果由于项目功能拓展的原因,需要在类C中增加一个职责P2,尽量在可行的情况下将类C进行拆分,分别负责职责P和职责P2。同样的,对于方法而言,在某些情况下我们更要遵从单一职责,比如一个接口 boolean save(…) 修改账户、密码、年龄等个人信息,加入现在要拓展一个功能,只修改密码,当前的全量修改接口是否有些不妥,但是创建一个新的接口又存在代码重复,因此,起初定义 boolean save_passwd(…)、boolean save_account()等单一功能接口,后面在功能增加的过程中进行复合调用即可,避免代码的重复编写和高效维护。

里氏替换原则

定义:所有引用基类(父类)的地方必须能透明地使用其子类的对象。它是继承的基石。

里氏替换原则包含以下4层含义:
  • 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。
  • 子类中可以增加自己特有的方法。
  • 当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
  • 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值