swift设计模式
W_C__L
简单不先与复杂,而是在复杂之后~~
展开
-
swift设计模式学习 - 策略模式
策略模式策略模式定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式的组成抽象策略角色(Strategy): 策略类,通常由一个接口或者抽象类实现。具体策略角色(ConcreteStrategy):包装了相关的算法和行为。环境角色(Context):持有一个策略类的引用,最终给客户端调用。策略模式的基本实现上图是最基本的装饰模式的结构图原创 2017-02-18 22:03:58 · 2817 阅读 · 0 评论 -
swift设计模式学习 - 装饰模式
移动端访问不佳,请访问我的个人博客装饰模式在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰模式的特点装饰对象和真实对象有相同的接口。这样客户端对象就能以和真实对象相同的方式和装饰对象交互。装饰对象包含一个真实对象的引用(reference)装饰对象接受所有来自客户端的请求。它把这些请求转发给真实的对象。装饰对象可以在转原创 2017-02-09 17:46:04 · 2154 阅读 · 1 评论 -
swift设计模式学习 - 原型模式
移动端访问不佳,请访问我的个人博客 设计模式学习的demo地址,欢迎大家学习交流原型模式用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。定义用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给原创 2017-02-20 19:56:55 · 2716 阅读 · 0 评论 -
swift设计模式学习 - 代理模式
移动端访问不佳,请访问我的个人博客 设计模式学习的demo地址,欢迎大家学习交流代理模式代理模式为其他对象提供一种代理以控制对这个对象的访问,在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式的组成抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现原创 2017-02-21 23:47:22 · 1814 阅读 · 2 评论 -
swift设计模式学习 - 模板方法模式
移动端访问不佳,请访问我的个人博客 设计模式学习的demo地址,欢迎大家学习交流模板方法模式模板方法模式,定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式的基本实现上图是基本模板模式的UML图,这种设计模式在很多地方都有用到,下面是基本实现的代码:class AbstractClass { func原创 2017-02-24 13:59:34 · 2089 阅读 · 0 评论 -
swift设计模式学习 - 外观模式
移动端访问不佳,请访问我的个人博客 设计模式学习的demo地址,欢迎大家学习交流外观模式外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。外观模式的基本实现上图是外观模式的UML图,下面是基本的代码实现过程://MARK: 外观类class Facade { let one = SubSystemOne()原创 2017-03-09 12:05:25 · 2185 阅读 · 0 评论