
设计模式篇
如何写好Android代码之设计模式篇
catzifeng
㊙️㊙️㊙️㊙️㊙️
展开
-
设计模式篇(十)——访问者模式
文章目录一、简介二、实现3、对比三、相关源码四、小结一、简介访问者模式(Visitor Pattern) 属于 行为型设计模式,看名字我就知道需要建立 访问者 和 被访问者 之间的关系。一般情况下,被访问者 都是不变的,比如说:书本、电脑等,而 访问者 可以是你或者其他人,这样就会导致一个现象:一千个人有一千个哈姆雷特;你拿电脑肝游戏,别人拿电脑生产力。定义: 某个行为,因为不同的 访问者 产生不同的效果;访问者 也能够访问多种行为。使用场景: 如果你需要对某个集合进行循环遍历并且因为元素有差异,原创 2020-07-09 22:08:04 · 293 阅读 · 0 评论 -
设计模式篇(九)——代理模式
文章目录原创 2020-06-22 00:25:39 · 299 阅读 · 0 评论 -
设计模式篇(八)——策略模式
文章目录一、简介一、简介原创 2020-06-16 22:58:57 · 223 阅读 · 0 评论 -
设计模式篇(七)——状态模式
文章目录一、简介一、简介状态模式(State Pattern) 在生活中充满很多个例子,一样物品会根据它不同的状态来直接改变其功能,在我们实际代码中,也充斥着这样的需求。定义:类的行为会根据不同的状态发生改变。使用场景:...原创 2020-06-11 21:40:54 · 291 阅读 · 0 评论 -
设计模式篇(六)——观察者模式
文章目录一、简介二、实现一、简介在 Android 中,一提到 观察者模式,肯定联想到 RxJava,这种响应式编程号称是十分解耦的操作,对于这样一个牛逼的设计模式,我们很有理由要好好学习之。定义: 一个对象通过 “观察” 另一个对象的某个行为,而进行响应操作。使用场景:如果 观察者模式 用于对象之间存在一对多的关系时,能够发挥最大的优势。在 RecyclerView 中,如果数据发生变化,需要通知列表更新UI;通过观察 Avtivity 的生命周期,来管理一些对象或者逻辑。实现要素:理解 被观察原创 2020-06-07 01:16:53 · 379 阅读 · 0 评论 -
设计模式篇——创建型设计模式小结
创建型设计模式 已经全部书写完毕,总共有5个,分别是:单例模式(Singleton Pattern)建造者模式(Builder Pattern)工厂模式(Factory Pattern)抽象工厂模式(Abstract Factory Pattern)原型模式(Prototype Pattern)所谓 创建型设计模式 即是创建对象的设计模式。1、在实际的阅读源码的时候你完全可以根据关键词来判断作者是否使用了设计模式,然后在脑海里大概有个该类的代码框架轮廓。例如:单例模式Xxx.g原创 2020-06-05 22:45:27 · 313 阅读 · 0 评论 -
设计模式篇(五)——原型模式
文章目录一、简介二、实现三、相关源码四、小结一、简介原型模式(Prototype Pattern) 是我们即将要学完的 创建型模式 的最后一个模式,该模式是为了优化性能而存在。定义:通过 克隆 的方式创建一个已有对象的复制品。使用场景:当我们对数据库进行耗时查询而得到了一个对象,我们可以将其缓存,等下次再进行同样的操作时,返回其复制后的对象。实现要素:在 Java 或者 Kotlin 中,使对象实现 克隆接口。注意 浅拷贝 和 深拷贝 的区别。原型模式 其实就是使一个类能够实现 克隆 ,原创 2020-05-30 13:14:42 · 262 阅读 · 1 评论 -
设计模式篇(四)——抽象工厂模式
文章目录一、简介一、简介抽象工厂模式(Abstract Factory Pattern) 区别于 工厂模式,后者是单个工厂work for单个或者多个 Product 的实现类,而前者就是单个工厂work for多个抽象工厂的实现类(禁止____!)。定义:抽象工厂模式 将工厂类抽象出来,抽出来的类(或者接口)用于创建具体的工厂类。使用场景:构建复杂的对象,在 Android 中有 Notification 和 Dialog 等。实现要素:将所有的构造相关的方法,置于 Builder 中。原创 2020-05-27 22:42:45 · 249 阅读 · 0 评论 -
设计模式篇(三)——工厂模式
文章目录一、简介一、简介工厂模式(Factory Pattern) 同属于创建型模式,原创 2020-05-24 17:31:11 · 242 阅读 · 5 评论 -
设计模式篇(二)——建造者模式
文章目录一、简介二、实现1、角色介绍2、普通类实现3、通过建造者模式实现4、修正5、常见变种三、相关源码四、小结一、简介建造者模式(Builder Pattern) 也比较常见,该模式与单例模式同属于创建型模式,当我们需要构建一个复杂的对象,就可以利用该模式,达到精简优化的效果。定义:建造者模式将复杂对象的构造与其表示分离,以便同一个构造过程可以创建不同的表示。使用场景:构建复杂的对象,在...原创 2020-03-21 17:31:34 · 261 阅读 · 0 评论 -
设计模式篇(一)——单例模式
文章目录一、简介二、实现1、经典实现2、加一层安全3、急切实例化4、双重检查(推荐)5、Kotlin实现三、相关源码四、小结一、简介单例模式是最简单也比较常见常用的设计模式。我们通常建立一个类,通过该类来创建实例,而有时候,我们仅仅需要这个类的一个实例就够了,例如各种工具类,其实现的效果都是一样的,我没有必要创建多个实例来占用系统资源。定义:单例模式是一种将类的实例化限制为一个对象的设计模式...原创 2020-03-17 12:01:07 · 228 阅读 · 0 评论 -
设计模式篇(零)——面向对象的六大设计原则
文章目录零、简介一、单一职能原则(Single Responsibility Principle)二、开闭原则(Open Closed Design Principle)三、里氏替换原则(Liskov Substitution Principle )四、接口隔离原则(Interface Segregation Principle)五、依赖倒置原则(Dependency Inversion prin...原创 2020-03-16 17:22:45 · 197 阅读 · 0 评论 -
设计模式篇——总览
全篇目录六大基本原则(必学)单例模式建造者模式目录排序我会以设计模式的使用频率及其重要程度,来进行优先级的排序。使得在你们精力最旺盛的时候,能够吸收更多有用的知识,希望你们能够坚持学习完全篇系列……文章结构每一篇文章的结构基本是一样的:先讲解设计模式的作用,其使用场景如何如何。再进行简单的实现。结合 Android 源码或者三方框架源码,进行分析。最后来个小总结什么的。...原创 2020-03-17 12:02:03 · 215 阅读 · 0 评论