HeadFirst 有感C++实现
文章平均质量分 78
codenupt
这个作者很懒,什么都没留下…
展开
-
由气象站引出的观察者模式 C++实现
观察者模式定义:对象之间的一对多的依赖,这样以来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 我们可以独立复用主题主题或者观察者。如果我们在其他地方需要使用主题或者观察者,可以轻易地复用,因为二者并非耦合。 设计原则:为了交互对象之间的松耦合设计而努力。 松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低。 以上都是看Head原创 2014-11-26 10:16:54 · 814 阅读 · 0 评论 -
鸭子模式引出的策略模式
内容写的比较乱,仅仅是自己原创 2014-10-21 22:09:42 · 479 阅读 · 0 评论 -
装饰者模式 C++实现
装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 装饰者和被装饰者必须是一样的类型,也就是有共同的超类(超类我是设计成接口或者定义虚函数),利用继承达到类型匹配。而不是利用继承获得行为。 将装饰者与组件组合时,就是加入新的行为。所得的行为,不是继承自超类,而是由组合对象得来的。 利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相原创 2014-11-30 09:57:05 · 516 阅读 · 2 评论 -
工厂模式 C++实现
工厂方法用来处理对象的创建,并将这样的行为封装在子类中。这样,客户程序中关于超类的代码就和子类对象的对象创建代码解耦了。 Abstract Product factoryMethod(string type) 工厂方法是抽象的,所以依赖子类处理对象的创建 工厂方法必须返回一个产品。超类中定义的方法,通常使用工厂方法的返回值 工厂方法将客户(也就是超类中的代码例如orederPi原创 2014-12-05 10:17:53 · 450 阅读 · 0 评论 -
单件模式的相关概念
单件模式:确保一个类只有一个实例,并提供一个全局访问点。 如果我们不需要这个实例,它就永远不会产生。这就是延迟实例化。 这个模式让我在任何时刻都只有一个对象,没有公开的构造器,类有一个静态方法和一个静态变量。 继承单件,想要让子类能工作顺利,基类必须实现注册表功能。 针对多线程: 使用同步、急切实例化、双重检查锁来解决创建多个实例冲突的问题。原创 2014-12-08 11:14:57 · 437 阅读 · 0 评论 -
命令模式、适配器模式与外观模式
命令模式:将请求者封装成对象,这可以让你使用不同的请求、队列或者日志请求参数化其他对象。命令模式也可以撤销操作。 命令模式将发出请求的对象和执行请求的对象解耦。 在被解耦的两者之间是通过命令对象进行沟通的,命令对象封装了接收者和一个动作或一组动作。 调用者通过调用命令对象的exectute()发出请求,这会使得接收者的动作被调用。 适配器模式:将一个类的接口,转换成客户期望的另一个接原创 2014-12-24 10:42:44 · 1334 阅读 · 0 评论