![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 93
perfectnihil
java,dart,python,js,lua
展开
-
the data couldn't be read because it isn't in the correct format
遇到标题所示错误的时候,在终端:plutil xxx.plist 可以查看问题原因原创 2019-10-23 16:46:33 · 2101 阅读 · 0 评论 -
什么是响应式编程
概念:响应式编程是一种通过异步和数据流来构建事物关系的编程模型。-------------这个概念不太容易理解参考:http://kescoode.com/try-rxjava/而Rx的响应式编程概念以我的理解,我觉得可以简单的概括为“观察者模式+管道操作符”--------------------------------------------------------我的...原创 2019-06-14 18:52:21 · 143 阅读 · 0 评论 -
多线程补充(二)Java内存模型
参考:https://zhuanlan.zhihu.com/p/39404072https://zhuanlan.zhihu.com/p/68149688https://zhuanlan.zhihu.com/p/58387104https://zhuanlan.zhihu.com/p/29881777https://www.cnblogs.com/dolphin0520/p/3...转载 2019-06-10 10:35:54 · 85 阅读 · 0 评论 -
设计模式系列(六)单例模式的五种实现
参考:https://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/singleton.html对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。单例模式可...原创 2019-06-10 14:35:50 · 98 阅读 · 0 评论 -
设计模式系列(七)适配器模式与Android中的ListView
一:适配器模式概念建造者模式过完了,从今天开始过结构型模式在我们的应用程序中我们可能需要将两个不同接口的类来进行通信,在不修改这两个的前提下我们可能会需要某个中间件来完成这个衔接的过程。这个中间件就是适配器。所谓适配器模式就是将一个类的接口,转换成客户期望的另一个接口。它可以让原本两个不兼容的接口能够无缝完成对接。作为中间件的适配器将目标类和适配者解耦,增加了类的透明性和可复用性...原创 2019-06-10 18:45:52 · 213 阅读 · 0 评论 -
设计模式系列(八)桥接模式
参考:https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/bridge.html桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。角色:Abst...原创 2019-06-10 23:15:17 · 109 阅读 · 0 评论 -
设计模式系列(九)组合模式
一:基本概念组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。它定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。在使用组合模式中需要注意一点也是组合模式最关键的地方:叶子对象和组合对象实现相同的接口。这就是组合模式能够将叶子节点和对象节点进行一致处理的原因。虽然组合模式能够清晰地定义分层次的复杂对象,也使得增加新构件也...原创 2019-06-11 11:47:13 · 122 阅读 · 0 评论 -
设计模式系列(十)装饰者模式
参考:https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/decorator.htmlhttps://www.cnblogs.com/java-my-life/archive/2012/04/20/2455726.html一:基本概念装饰模式包含如下角色:Component: 抽象构件...原创 2019-06-11 18:43:37 · 129 阅读 · 0 评论 -
设计模式系列(十一)外观模式
参考:https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/facade.html外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,...原创 2019-06-11 19:39:02 · 144 阅读 · 0 评论 -
设计模式系列(十二)享元模式
一 基本原理参考:https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/flyweight.htmlhttps://www.cnblogs.com/snowbook/p/5162546.htmlhttps://www.cnblogs.com/adamjwh/p/9070107.html享...原创 2019-06-11 23:17:00 · 133 阅读 · 0 评论 -
设计模式系列(十三)代理模式
一:基本原理参考:https://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/proxy.html代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。代理模式包含如下角色:S...原创 2019-06-11 23:36:51 · 99 阅读 · 0 评论 -
设计模式系列(十四)责任链模式-行为型模式start
参考:https://www.cnblogs.com/pony1223/p/7608955.htmlhttps://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/behavioral.htmlhttp://c.biancheng.net/view/1383.htmlhttps://www.jiansh...原创 2019-06-12 11:36:53 · 198 阅读 · 0 评论 -
设计模式系列(五)原型模式
一:基本原理https://zh.wikipedia.org/wiki/%E5%8E%9F%E5%9E%8B%E6%A8%A1%E5%BC%8F摘自维基百科:原型模式是创建型模式的一种,其特点在于通过「复制」一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的「原型」,这个原型是可定制的原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经...原创 2019-06-09 18:51:17 · 110 阅读 · 0 评论 -
设计模式系列(四)建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构架过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。角色:Builder:抽象建造者 ConcreteBuilder:具体建造者 Director:指...原创 2019-06-09 16:01:57 · 110 阅读 · 0 评论 -
设计模式系列(三)抽象工厂模式
先看两个概念:产品等级结构:产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机、海信电视机、TCL电视机,则抽象电视机与具体品牌的电视机之间构成了一个产品等级结构,抽象电视机是父类,而具体品牌的电视机是其子类。产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组产品,如海尔电器工厂生产的海尔电视机、海尔电冰箱,海尔电视机位于电视机产品等级...原创 2019-06-09 12:31:01 · 255 阅读 · 0 评论 -
设计模式系列(十五)命令模式
参考:https://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.htmlhttps://www.cnblogs.com/zuoxiaolong/p/pattern13.html一:基本理论命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求...原创 2019-06-12 14:40:16 · 174 阅读 · 0 评论 -
设计模式系列(十六)解释器模式
参考:https://www.cnblogs.com/pony1223/p/7608955.htmlhttp://c.biancheng.net/view/1402.html一:基本原理所谓解释器模式就是定义语言的文法,并且建立一个解释器来解释该语言中的句子。解释器模式描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发的编译器中。它描述了如何为简单的语言定义一个文法...转载 2019-06-12 17:43:49 · 117 阅读 · 0 评论 -
设计模式系列(十七)迭代器模式
一:基本原理迭代子模式涉及到以下几个角色: ● 抽象迭代子(Iterator)角色:此抽象角色定义出遍历元素所需的接口。 ● 具体迭代子(ConcreteIterator)角色:此角色实现了Iterator接口,并保持迭代过程中的游标位置。 ● 聚集(Aggregate)角色:此抽象角色给出创建迭代子(Iterator)对象的接口。 ● 具体聚集(Concret...转载 2019-06-12 20:18:48 · 94 阅读 · 0 评论 -
设计模式系列(十八)中介者模式
参考:https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/mediator.html角色:Mediator: 抽象中介者ConcreteMediator: 具体中介者Colleague: 抽象同事类ConcreteColleague: 具体同事类参考:https://www.run...转载 2019-06-12 21:16:56 · 101 阅读 · 0 评论 -
设计模式系列(十九)备忘录模式
参考:https://www.cnblogs.com/java-my-life/archive/2012/06/06/2534942.htmlhttps://blog.csdn.net/niunai112/article/details/79990158https://www.cnblogs.com/geek6/p/3951677.html一:基本理论备忘录模式又叫做快照模式(...转载 2019-06-12 22:07:45 · 76 阅读 · 0 评论 -
设计模式系列(二十)观察者模式
参考:https://www.cnblogs.com/geek6/p/3951677.htmlhttps://www.cnblogs.com/java-my-life/archive/2012/05/16/2502279.htmlhttps://blog.csdn.net/niunai112/article/details/79900699http://c.biancheng.ne...转载 2019-06-12 22:36:55 · 135 阅读 · 0 评论 -
设计模式系列(二十一)状态模式
参考:https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/state.htmlhttps://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.htmlhttps://www.cnblogs.com/haoerlv/p/7777789.h...转载 2019-06-12 23:28:27 · 115 阅读 · 0 评论 -
设计模式系列(二十二)策略模式
策略模式包含如下角色:Context: 环境类 Strategy: 抽象策略类 ConcreteStrategy: 具体策略类转载 2019-06-12 23:42:57 · 130 阅读 · 0 评论 -
设计模式系列(二十三)模板方法模式
模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。...转载 2019-06-12 23:44:17 · 101 阅读 · 0 评论 -
设计模式系列(一)简介
一:设计模式起源来自维基百科:https://zh.wikipedia.org/wiki/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F_(%E8%AE%A1%E7%AE%97%E6%9C%BA)建筑师克里斯托佛·亚历山大在1977/79年编制了一本汇集设计模式的书,但是这种设计模式的思想在建筑设计领域里的影响远没有后来在软件开发领域里传播的广泛。肯特·贝...原创 2019-06-09 08:57:23 · 209 阅读 · 0 评论 -
设计模式系列(二)简单工厂模式与工厂方法模式
参考:https://github.com/me115/design_patternshttps://design-patterns.readthedocs.io/zh_CN/latest/creational_patterns/simple_factory.html工厂模式分为三种一:简单工厂模式(Simple Factory Pattern)包括三个角色:Factory...原创 2019-06-09 11:04:27 · 127 阅读 · 0 评论 -
动态代理的java实现
所谓代理模式中的代理,其实非常类似于生活中的房产中介,经纪人,代理商的角色而在实际应用中,动态代理用的比较多,下文使用java reflect 下面的两个类做动态代理的简单实现。先定义接口public interface IConsumer { public void doPurchase(); public void doSaleRetur原创 2017-08-03 19:44:34 · 226 阅读 · 0 评论