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