设计模式
312nicole
这个作者很懒,什么都没留下…
展开
-
23种 设计模式总结
应用仅有唯一对象实例是单例模式。复杂对象根据设置参数不同可以构造不同对象,采用建造者模式。方法返回参数是接口类型可以是工厂模式。以同一个类快速赋值个实例,可用原型模式接口抽象和实现解耦,接口注入它类的构造方法,是桥接模式。两个不兼容的接口,实现在一个类中一起工作叫适配器模式一个类中包含引用这个类的属性或者集合,可用组合模式一份个接口,有两个实现类,一个具体实现,一个包含具体实现的类,...原创 2019-10-22 22:40:45 · 167 阅读 · 0 评论 -
工厂模式和策略模式
文章目录白话描述工厂模式备注接口定义实现接口的产品提供一个工厂方法策略模式对工厂模式的优化采用反射优化if else if白话描述工厂模式写一个工厂类,提供一个个方法获取生厂产品的接口。备注关注是产品的接口, 有几个产品实现类呢,只有一个,直接new了,不然造成多很多代码的。接口定义//接口 生成产品的public interface MessageView{ v...原创 2019-10-21 22:42:29 · 159 阅读 · 0 评论 -
观察者模式
文章目录定义观察者实现接口主题 (被观察者类)观察者白话描述变形的观察者kotlin实现定义简单说,对象间定义了一对多的依赖,当一个对象的改变,可以通知依赖的对象。java 支持观察者实现接口public interface Observer{ void update(Observable 0, Object arg);}主题 (被观察者类)public cl...原创 2019-10-19 15:28:01 · 137 阅读 · 0 评论 -
原型模式
文章目录定义注意java实现 调用 super.clone()实现java实现 调用 new 实现kotlin实现定义简单说就是复制已经存在的实例,创建新的实例。注意分深拷贝,和浅拷贝。 使用时候,避免错误使用深拷贝吧。通过实现Cloneable接口,重写Object的clone方法实现拷贝对象可以调用 super.clone(),简单也可以直接new一个在赋值java实现 调用 s...原创 2019-10-19 10:28:31 · 109 阅读 · 0 评论 -
代理模式 和 静态工厂方法 实现解耦框架依赖
代理模式:一个公共接口代理类和被代理都是实现这共同的接口代理类中持有被代理类的引用网络框架举例:共同的接口public interface IRequestProcessor{ void get(String url , Map<String,Object> params,ICallBack callBack); void post(Stri...原创 2019-10-18 17:23:43 · 234 阅读 · 0 评论 -
模板方法模式
常用并且简单,Java和kotlin实现没有什么区别。BaseActivity,BaseFragment等等一些抽象类。特点: 定义在基类里,不能更改。通过调用子类覆盖实现的方法来完成它的工作。abstract class BaseActivity: AppCompatActiivty(){ override fun onCreate(saveInstanceSta...原创 2019-10-18 15:40:16 · 127 阅读 · 0 评论 -
Okhttp中 kotlin和java 实现Builder模式
builder就是将复杂对象的构建与表示分离kotlin版本实现//会省略很多代码open class OkhttpClient internal contrustor(builder:Builder){@get: JvmName("dispatcher")val dispatcher: Dispatcher = builder.dispatcher@get: JvmName("co...原创 2019-10-15 23:57:20 · 388 阅读 · 0 评论 -
单例
单例模式写法比较多,记住几个主要的写法。其核心是构造器私有,只有一个实例的单例类1 恶汉模式比较简单,可以开始就初始。java实现public class SingleDemo{ private static SingleDemo instance = new SingleDemo(); private SingleDemo(){ ...原创 2019-10-15 14:12:06 · 125 阅读 · 0 评论