ZCMUCZX的博客

学习的脚步

构建者模式案例体现

最近学习到一个构建者模式的案例,感觉又有了点体会,记录一下,首先我们来分下角色的划分 角色一:组装类->ZXAlertController 角色二:构建者->Builder 角色三:产品->AlertController...

2018-07-30 16:24:25

阅读数:29

评论数:0

状态模式基本概念

本身就是个菜鸟,写不出来什么高深的东西,下面就简单的介绍下其的好处 首先我们需要先了解下状态模式的角色 角色一:抽象状态->StateProtocol 角色二:具体状态->ConcrateState 角色三:状态管理器(上下...

2018-07-23 10:30:06

阅读数:51

评论数:0

命令模式和备忘录模式的对比

首先先简单的分析下我们下面要讲解的案例当中的角色有哪些,对于命令模式和备忘录模式都有分开来进行讲解 命令模式 角色一:接受者 -> Receiver 角色二:命令接口 ->CommandProtocol 角色三:具体命令 继承命令接口,去实...

2018-07-22 22:22:27

阅读数:66

评论数:0

迭代器模式的基本概念

首先迭代器模式其实可以分为四个角色 角色一:Iterator(迭代器接口)->协议 作用:定义了访问遍历元素的方法 角色二:ConcreteIterator(具体迭代器)作用:遍历具体元素方法实现 角色三:Aggregrate(容器接口)-...

2018-07-18 11:08:40

阅读数:55

评论数:0

基于观察者模式的设计

观察者模式的角色划分其实可以分为被观察者(目标对象)、具体被观察者、观察者(抽象)和具体观察者 接下来我们看下抽象的被观察者的定义 import UIKit //抽象被观察者 protocol Observable { func addObserver(observer:...

2018-07-15 08:27:21

阅读数:47

评论数:0

命令模式浅析

简单的举个例子就比如说电灯,开关和风扇,我们可以通过开关去控制风扇和电灯的开和关。其中开关是发送者,电线是命令对象,而风扇和电灯就是接受者。电线是可以换的,所以就是说开关可以做两个不同的操作 命令模式:其实就是把请求封装成一个对象,从而可以使用不同的请求对客户进行参数化,对请求排队或者记...

2018-06-27 10:37:08

阅读数:45

评论数:0

备忘录模式浅析

其实备忘录模式就是在不破坏封装的前提下,去捕获一个对象的内部的状态,并在这个对象之外去保存这个状态,这样的话之后就可以把这个对象恢复到原先保存的状态。 备忘录模式在很多软件中都有用到,因为现在很多软件都可以有撤销操作,其实就是把先前的某个状态去记录下来了。就好比在有些游戏中,在你退出游戏,你原本...

2017-12-24 12:51:26

阅读数:97

评论数:0

外观模式浅析

外观模式(门面模式):其实就是通过包装,我们可以在外界去调用统一的接口,可以这么说在外面我们所能看到的是外观对象,而不会看到里面的实际的操作,和里面的对象,这样的话其实就是让我们的代码更加好阅读,以及增强了可维护性。 外观模式的基本概念就是 要求一个子系统的外部和其内部的通信必需通过一个统一的...

2017-12-24 09:27:46

阅读数:179

评论数:0

原型模式浅析

其实在日常的开发中,对于有一些对象的创建会很复杂,而如果这个时候我们要去创建一个和之前我们创建的对象几乎一样的对象,而且只有轻微的变动的话,其实我们就可以用原型模式来做,从这个原型对象中拷贝出来。 其实总的概念就是让原型对象让它生成自己的复制品,就可以节省创建它们的大量的时间和精力,因为这样比创...

2017-12-22 08:22:36

阅读数:87

评论数:0

装饰模式浅析

基本概念 装饰模式是动态的给一个对象添加一些额外的职责,相对于扩展功能来说,装饰模式比生成子类更加灵活。其实它的思想就在于向对象中去添加行为,而不去破坏其原有的风格,也就是说增加了新功能的对象是同一个类的加强版,就好比一张照片,我们给它增加了一个相框,任何增强的功能都可以进行动态的添加或者删除,...

2017-12-22 06:11:08

阅读数:134

评论数:0

模板方法模式浅析

模板方法模式的话其实就是好比我们在做各种各样的汉堡的时候,有鸡肉汉堡,牛肉汉堡等等,那么其实做汉堡的步骤的话都有需要准备面包啊,要什么沙拉酱啊还是番茄酱啊,这些通用的步骤其实是有的,这样的步骤其实就可以被称之为是模板方法,因为我们在做其他的一些汉堡的时候其实去修改的调用这些方法就可以了。 模板方法...

2017-12-20 11:46:30

阅读数:98

评论数:0

责任链模式浅析

责任链模式的话其实就是使多个对象都有机会去处理请求,这样可以避免请求的发送者和接受者之间的发生耦合,这个模式是将这些对象去连成一条链,并且沿着这条链去传递请求,直到有一个对象可以去处理这个请求。这样的好处就在于发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这这样我们就可以在不影响客...

2017-12-19 21:44:59

阅读数:71

评论数:0

组合模式浅析

组合模式的概念其实就是将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性,因为组合模式其实就是不想让客户端知道它是在处理那些类型的节点。 组合模式可以把相同基类型的对象组合到树状的结构中,所以其中的父节点是包含同类型的子节点。”部分-整体“的...

2017-12-17 20:29:12

阅读数:88

评论数:0

迭代器模式浅析

首先还是官话,迭代器提供了一种顺序访问聚合对象中元素的方法,而不用去暴露结构的底层表现和细节。迭代器定义了一个用于访问集合元素并记录当前的元素的接口。不同的迭代器可以去执行不同的迭代的策略。 迭代器模式的缺点:由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类...

2017-12-17 15:38:46

阅读数:113

评论数:0

中介者模式

基本概念 在面向对象的设计中是鼓励把行为分散到不同的对象中的,虽然把行为分散到不同的对象之间能增加复用性,但是这样的话可能会导致对象与对象相互关联的越来越多,这样的话就会使对象很难在不依赖对象的情况下独立工作,而且由于行为分布于多个对象,如果我们要去修改某个行为的话可能就很难的去修改,这样的话我...

2017-12-15 19:57:28

阅读数:116

评论数:0

建造者模式(构建者模式)

简单介绍 建造者模式的话其实就是将一个复杂对象的构建与它的表示分离,可以使得同样的构建过程可以有不同的表示,就好比吃套餐,KFC,麦当劳,华莱士其实套餐中变来变去就那些东西,但是不同的组合起来就是不一样的套餐,建造者模式其实就是分离了组件的构造过程,建造者模式其实是着重于一步步得构造出复杂对象。...

2017-12-15 07:09:55

阅读数:104

评论数:0

适配器模式浅析

首先先举个例子,在现实生活中每个国家的电压不一样,如果我们出去旅游没有电源适配器的话是根本无法充电的,但是我们会发现现在的情况都逐渐的消失了,因为充电器里面其实自带了这么一个电源适配器,这其实就是适配者模式的体现。 适配器模式有个解释如下将一个类的接口转换成客户希望的另外一个接口。Adapter...

2017-12-10 08:30:58

阅读数:100

评论数:0

享元模式浅析

享元模式的设立其实主要就是为了减少创建对象的数量,这样就可以去减少内存的占用和提高性能,也就是说尽可能的去减少内存的使用量和分享给更多的相似的物件。 有个例子是这样的就是如果一个文本系统的话如果我们采取每一个字母都定义一个对象,那如果我们有几万的相同的字母不是就会有几万个对象了吗,那肯定是不可能的...

2017-12-09 18:42:28

阅读数:70

评论数:0

工厂模式浅析

一、简单工厂首先工厂模式其实分为简单工厂,工厂方法和抽象工厂,工厂模式其实就是我需要什么,这个工厂就给我制造什么。关于简单工厂模式的应用如下所示:首先中定义一个抽象类,抽象类中写一些我们需要的抽象方法或者属性,抽象子类去继承这个抽象类,然后再去实现具体的操作。然后工厂类根据外界的需求去创建对应的抽...

2017-12-09 16:41:02

阅读数:138

评论数:0

桥接模式浅析

基本概念 1、桥接模式是将抽象部分与它的实现部分分离。桥接模式的特点其实就是1、把依赖与具体实现的改为依赖抽象,以此来脱耦,达到松耦合状态 2、其实就是分离了接口和实现的部分,提高了扩展性。其实我们可以这么理解桥接模式设计到抽象类和一个桥接口,其中桥接口其实就是用户要去定义实体类去实现具体功能的...

2017-12-09 11:42:06

阅读数:117

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭