架构、设计模式
faithzzf
这个作者很懒,什么都没留下…
展开
-
通过例子学设计模式之--单例模式以及多线程下说明(C++实现)
通过例子学设计模式之--单例模式以及多线程下说明(C++实现)。原创 2017-10-18 14:33:09 · 299 阅读 · 0 评论 -
通过例子学设计模式之--工厂方法模式以及使用场景说明(C++实现)
简单工厂模式有如下问题: (1)工厂类职责不单一。比如设备类工厂,工厂一并生产USB,并口,串口,等等之类的设备,职责不单一,而且switch--case分支有可能比较多。 (2)违背开闭原则。比如设备类工厂,增加一个WIFI设备,则需要修改到工厂类的创建接口,可能会影响原有代码。 解决这2个问题,我们需要对工厂类进行抽象,抽象出创建的接口,通过多态的方法把创建延迟到子类实现,也就是工厂方法模式。原创 2017-10-16 16:07:01 · 545 阅读 · 0 评论 -
通过例子学设计模式之--外观模式以及使用场景说明(C++实现)
外观模式,为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 由于子系统可能有多个,而且联系错综复杂,作为系统的使用者,我们不想也不需要去了解这些子系统之间的联系,只需要提供一个对外接口能够实现功能即可。这就是外观模式的作用。它使得我们不用关注里面的细节和联系,却能完成功能。 外观模式的例子很多,比如我们去酒...原创 2017-11-01 16:18:11 · 338 阅读 · 0 评论 -
通过例子学设计模式之--桥接模式以及使用场景说明(C++实现)
桥是一种结构。桥接模式的类图和桥很像,是一种结构型的设计模式。 通常情况下,桥两边各有一个桥墩,每个桥墩我们可以理解为一个抽象类,或者是一个变化。中间的桥梁我们可以理解为类的“关联”,这个关联就是聚合。这样就组成了桥接模式。它可以处理2个维度同时变化的情况。其实也可以处理多个维度的变化情况,理解上可以想成桥墩有多个,而不仅仅是2个。那么桥梁也不止1个,而是多个。 比如一个对象,如果A维度有3种变化,B维度有4种变化,C维度有2中变化。直接使用继承的方式,会有3原创 2017-10-23 18:29:21 · 1212 阅读 · 2 评论 -
通过例子学设计模式之--建造者模式以及使用场景说明(C++实现)
相信我们基本都买过台式电脑吧。我们应该不会去买主板,CPU,内存等等子部件回家,然后自己组装成台式机。当然,也不排除某些发烧友这样做。但是对于多数人来说,我们只需要对老板说,我需要一台联想的或者惠普的电脑,老板组装好给我们就OK了。我们买车也是这样的,只是买一台车回家,而不是买回一堆的发动机等等零件。 上面的例子,抽象一下,就是建造者模式。 建造者模式是创建模式中最复杂的,这个复杂指的是类的结构和实现会复杂一些。它的使用场景不复杂,很好理解。就是创建复杂对象。什么原创 2017-10-23 18:22:24 · 2099 阅读 · 0 评论 -
通过例子学设计模式之--组合模式以及使用场景说明(C++实现)
设计模式之--组合模式以及使用场景说明(C++实现)。原创 2017-09-18 14:00:52 · 1713 阅读 · 0 评论 -
通过例子学设计模式之--原型模式以及使用场景说明(C++实现)
设计模式之--原型模式以及使用场景说明(C++实现)。原创 2017-09-22 14:42:46 · 1020 阅读 · 0 评论 -
通过例子学设计模式之--简单工厂模式以及使用场景说明(C++实现)
这个模式应该说是非常简单的。作用也很明显,就是面向对象中,可能会创建大量的不同类别的对象,不可避免就会出现大量的new操作。为了统一管理对象的创建和销毁,我们可以添加一个类,这个类提供创建和销毁的接口。 实际的项目过程中,我们可能会根据不同的类别创建不同的简单工厂类,比如设备工厂类,图形工厂类,水果工厂类等等。原创 2017-10-13 11:05:58 · 976 阅读 · 0 评论 -
通过例子学设计模式之--适配器模式以及使用场景说明(C++实现)
通过例子学设计模式之--适配器模式以及使用场景说明(C++实现)。原创 2017-09-25 10:54:20 · 860 阅读 · 0 评论 -
通过例子学设计模式之--抽象工厂模式以及使用场景说明(C++实现)
考虑这样一个场景,PC机有IBM和Lenvo2个品牌。两者都有各自的CPU,内存RAM,硬盘Disk,网卡NetCard等等十几个组件。如何创建这些产品对象呢? (1)如果用简单工厂,比如使用一个工厂(PC工厂),或者2个工厂(IBM工厂,Lenvo工厂),switch--case的分支至少都要10个以上,功能太不单一。除非你刚学习编程,否则就不可能也不应该这样做。 (2)如果用工厂方法模式,那么一个工厂对应一个产品,每个PC都有十几个组件,那么2个PC品牌就会有20几个工厂。假如后续再原创 2017-10-16 17:29:11 · 731 阅读 · 0 评论