志宇-设计模式

源码

七个设计原则

一、单一职责原则

思想
一个类 作一类事情 (不然高内聚)

二、里氏替换原则

思想
尽量不要重写父类中已经存在的方法

三、依赖倒置原则

思想
将一个对象(类)传入到另一个类中,要通过这个类的接口或者抽象进行接收(当添加一个功能时直接再写一个接口实现类传入即可)
代码

//违反依赖倒置原则
public void  fun(Persion   persion){
}
//正确写法
public void  fun(PersionInterface   persion){
}

四、接口隔离原则

思想
实现接口,要求实现的方法都有用,不要实现多余的方法 (将接口拆分,然后分别实现)

五、迪米特法则

与本类为朋友关系的类为:
1.本类成员变量
2.本类方法中传入参数
3.本类方法中返回参数
思想
如果在本类中出现非朋友关系的类,那么就违反了迪米特法则
(相当于 将不是本类的代码写在了本类中,目的不要将自己的代码暴漏给别的类)

六、开闭原则(最核心)

思想
当开发好框架,当有新需求时 只用写几个实现类即可完成需求(通过扩展实现需求)
代码

//如果想多加一种人创建一个类继承ManPersion 即可
public void say(persionInterface persion){
    persion.say();
}
public class ManPersion implements persionInterface {
    abstract say();
}
public class MinManPersion extends ManPersion {
     void say(){
     }
}
public class MaxManPersion extends ManPersion {
     void say(){
     }
}

七、合成复用原则

思想
尽量使用组合/聚合,少用继承 (因java单继承,继承后扩展性降低)
替换继承的方法
1.通过子类的构造方法将父类对象传递给子类
2.通过子类的set方法将父类对象传递给子类
3.在子类中创建父类对象,然后子类调用父类中的方法

一、设计模式的分类

总体来说设计模式分为三大类:
创建型模式(创建对象上使用的模型),共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式(代码结构的模型),共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式(方法的模型),共十一种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

状态模式

简单来说:就是根据不同状态(参数),会有不同的行为(方法)
从而减少 if else 的使用

场景

有一个借贷平台,它要给别人贷款
贷款有一系列流程,在每个流程都有不同的状态(生成订单、审核、发布、代付款、付款、已付款、完结) 这时候就要用到状态模式的思想了,不然写的代码会很乱同时不方便维护
在这里插入图片描述在这里插入图片描述

设计方案

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值