设计模式
文章平均质量分 77
yuebaii
一个有态度的码农
展开
-
C++实现单例模式(快加载与懒加载)
单例模式:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”它是一种常见的面向对象的设计模式,属于创建型模式。可以保证应用单例模式的类只有一个对象实例。优点: 1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。 2、避免对资源的多重占用(比如写文件操作)。缺点:没有接口,不能继承应用实例: 1、Windows 是多进程...原创 2018-08-05 16:30:40 · 1364 阅读 · 0 评论 -
C++实现工厂模式(简单与抽象工厂模式)
What is it?工厂模式:是一种很常见创建型模式,是用工厂代替new操作的模式。在java程序中很常见,但C++同样可以实现和使用。因为工厂模式就相当于创建对象时的new,如A a = new A();所以用我们在用new时要考虑能不能用工厂模式。虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。。工厂模式可分为“简单工厂模式”和“抽象工厂模式”。Wh...原创 2018-08-06 23:48:15 · 530 阅读 · 0 评论 -
C++实现观察者模式
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。完美的将观察者和被观察的对象分离开。【有时又被称为模型-视图(View)模式、源-收听者(Listener)模式或为发布-订阅模式(目标就是通知的发布者,观察者是通知的订阅者(接受通知))。】 Observer 的一个实例 Model/View/Control(...原创 2018-08-07 10:46:47 · 3055 阅读 · 0 评论 -
C++实现迭代器模式
迭代器模式:提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示(将对聚合对象的遍历封装到一个类中进行)。属于行为型模式优点: 1、它支持以不同的方式遍历一个聚合对象(容器)。 2、迭代器简化了聚合类。 3、在同一个聚合上可以有多个遍历。 4、在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码。Iterator(迭代器)【迭代器类定义访问和遍历元素的...原创 2018-08-07 11:57:33 · 523 阅读 · 0 评论