设计模式
william-2008
C/C++, iOS, Android,HarmonyOS
展开
-
设计模式-原型模式
设计模式原创 2016-02-04 16:02:52 · 425 阅读 · 0 评论 -
迭代器模式
源代码:https://github.com/baitxaps/IteratorPattern迭代器模式:Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation(它提供一种方法访问一个容器对象中各个元素,而又不需原创 2016-08-02 14:49:44 · 370 阅读 · 0 评论 -
观察者模式
源码:https://github.com/baitxaps/ObserverPattern观察者模式Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automaticall原创 2016-08-05 18:13:33 · 323 阅读 · 0 评论 -
门面模式
源码:https://github.com/baitxaps/FacadePattern门面模式:Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.(原创 2016-08-05 22:39:04 · 330 阅读 · 0 评论 -
备忘录模式
源码:https://github.com/baitxaps/MementoPattern/tree/master-1.2https://github.com/baitxaps/MementoPattern备忘录模式:Without violating encapsulation, capture and externalize an object's internal sta原创 2016-08-09 01:52:13 · 331 阅读 · 0 评论 -
访问者模式
源码:https://github.com/baitxaps/VistitorPattern.git访问者模式:represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the cl原创 2016-08-09 16:50:24 · 354 阅读 · 0 评论 -
状态模式
源码:https://github.com/baitxaps/StatePattern状态模式:Allow an object to alter its behavior when its internal state changes. The object will appear to change its classes.(当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类原创 2016-08-11 18:06:08 · 261 阅读 · 0 评论 -
解释器模式
源码:https://github.com/baitxaps/InterpreterPattern解释器模式:Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the原创 2016-08-11 21:19:42 · 362 阅读 · 0 评论 -
享元模式
源码:https://github.com/baitxaps/FlyweightPattern.git定义:Use sharing to support large numbers of fine-grained objects efficiently.(使用共享对象可有效地支持大量的细粒度的对象。)享元模式的定义为我们提出了两个要求:细粒度的对象和共享对象。要求细粒度对象,那原创 2016-08-12 19:01:08 · 419 阅读 · 0 评论 -
桥梁模式
源码:https://github.com/baitxaps/BridegPattern.git桥梁模式(Bridge Pattern)定义:Decouple an abstraction from its implementation so that the two can vary independently.(将抽象和实现解耦,使得两者可以独立地变化。)Abstraction抽象原创 2016-08-12 21:36:05 · 319 阅读 · 0 评论 -
适配器模式
源码:https://github.com/baitxaps/AdapterPattern适配器模式:Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of inc原创 2016-08-01 20:08:14 · 311 阅读 · 0 评论 -
组合模式
源码:https://github.com/baitxaps/CompositePattern/tree/master-2.1https://github.com/baitxaps/CompositePattern/tree/master-2.0https://github.com/baitxaps/CompositePattern组合模式:Composite obje原创 2016-08-03 21:35:37 · 306 阅读 · 0 评论 -
中介者模式
源码:https://github.com/baitxaps/MediatorPatternDefine an object that encapsulates how a set of objects interact.Mdeiator promtoes loose coupling by keeping objects from referring to eachother expli原创 2016-07-24 22:04:23 · 331 阅读 · 0 评论 -
建造者模式
Separate the construction of a complex object from its representation so that the same construction process can create different representations. ( 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 )原码:https:原创 2016-07-15 17:45:20 · 308 阅读 · 0 评论 -
桥接模式
源码地址:https://github.com/baitxaps/BridgePattern桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式优点:分离抽象接口及其实现部分。桥接模式有时类似于多继承方案,但是多继承方案原创 2016-07-17 11:22:21 · 235 阅读 · 0 评论 -
抽象工厂模式
源码:https://github.com/baitxaps/FactoryMethodPattern抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区别就在于, 工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。 在编程中,通原创 2016-07-28 12:06:26 · 264 阅读 · 0 评论 -
命令模式
源码:https://github.com/baitxaps/CommandPattern命令模式:将一介请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。优点:类间解耦,调用者角色与接收者角色之间没有任何依赖关系,调用者实现功能时只需调用Command抽象类的execute方法就可以,不需要了解到底是哪个接收者原创 2016-07-29 16:11:46 · 265 阅读 · 0 评论 -
代理模式
源码:https://github.com/baitxaps/BridgePatternProxy Pattern,也叫委托模式为其它对象提供一种代理以控制对这个对象的访问许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。角色定义:Subject抽象主题角色可以是抽象类或接口,是一个最普通的业务类型定义,无特殊要求RealSubj原创 2016-07-19 17:46:24 · 290 阅读 · 0 评论 -
责任链模式
源码:https://github.com/baitxaps/ChinaOfResponsibilityPattern/tree/master-1.0.1责任链模式使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系,将这些对像连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。优点:是将请求和处理分开,请求者可以不用知道是谁处理的,处理者可以不用知道请求原创 2016-07-30 11:04:15 · 257 阅读 · 0 评论 -
装饰模式
源码:https://github.com/baitxaps/DecoratorPattern装饰模式动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活优点:装饰类与被装饰类可以独立发展,而不会耦合。换句话说,Component类无须知道Decorator类,Decorator类是从外部来扩展Component类的功能,而Decorator类也原创 2016-07-30 22:56:00 · 303 阅读 · 0 评论 -
策略模式
源码:https://github.com/baitxaps/StrategyPattern策略模式:Define a family of algorithms, encapsulate each one, and make them interchangeable(定义一组算法,将每个算法都封装起来,并且使它们之间可以互换) 策略模式使用的就是面向对象的继承和多态机制,原创 2016-07-31 14:15:12 · 253 阅读 · 0 评论 -
iOS-Design-Patterns
《设计模式之禅》原书Java源码全部翻译成Objective-C,学iOS的童鞋可以下载电子版:http://download.csdn.net/detail/baitxaps/9602132来参考学习#iOS-Design-Patterns《[设计模式之禅](http://download.csdn.net/detail/baitxaps/9602132)》原书,原创 2016-08-13 01:01:42 · 796 阅读 · 0 评论