设计模式
偶是老李头
这个作者很懒,什么都没留下…
展开
-
设计原则:依赖倒置
使用背景 公司生产了几种核验设备(108,208,380等),每一款核验设备上面都有测温功能,对应的测温模块来源于不同厂家的不同型号,有的是串口接入的,有的是USB口接入的。在代码中进行测温并获取温度信息时:具体的实现类:public class TemperatureManager { public void doUsbTemperature(){ System.out.println("USB测温模块开始工作"); } public double g原创 2021-06-22 19:17:00 · 122 阅读 · 0 评论 -
开闭原则的实现
定义一个软件的实体,如类、模块和函数应该对扩展开放,对修改关闭。实现方法用抽象来构件框架,用实现扩展细节实现的核心关键点:面向抽象编程,抽象相对来说是稳定的,让类去依赖于固定的抽象,所以对修改来说是封闭的,通过面向对象的集成以及多态的机制就可以实现对抽象的继承,通过重写改变其固有方法或者实现新的扩展方法ex:版本的更新尽量不修改源代码,但是可以增加新功能优点提高软件系统的可复用性及可维护性 代码实现1、定义接口public interface IFruit { // 返回原创 2021-06-20 13:19:16 · 590 阅读 · 0 评论 -
手动模拟EventBus框架
一、实现原理1、主要的实现类为EventBus类,用观察者实际模式来实现(观察者设计模式参考),包含三个主要的方法:register、 unregister、post2、订阅者(一般为activity)通过EventBus的register和unRegister来订阅和取消订阅3、事件发布者通过post来发布数据,EventBus找到自己缓存的所有订阅者,并找到每一个订阅者的所有方法并执行...原创 2019-07-27 10:45:38 · 151 阅读 · 0 评论 -
观察者设计模式的理解
一、概念观察者设计模式: 行为型的设计模式,也叫作发布订阅模式。两个角色:被观察者(Observer),观察者(Observerable)。被观察者维护观察者实例列表,当有事件发生时,调用观察者的方法进行通知。二、代码实现1、观察者/** * 观察者 */public interface Observer { // 被观察者有事件产生时,通过这个方法通知观察值 p...原创 2019-07-10 09:18:56 · 175 阅读 · 0 评论 -
设计模式:装饰器和代理
装饰器 : 装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例被装饰对象通过注入的方式进行初始化代理:如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种办法:1、修改原有的方法来适应。这样违反了“对扩展开放,对修改关闭”的原则。2、就是采用一个代理类调用原有的方法,且对产生的结果进行控制。这种方法就是...原创 2015-03-30 23:16:48 · 365 阅读 · 0 评论