适配器模式

2017-09-05
阅读 4 分钟
2k
结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。

原型模式

2017-09-03
阅读 3 分钟
1.4k
上小学的时候,老师把需要做的课外习题写到黑板上,而下面的我们都要把这些题抄写到自己的本子上,回家做好,第二天交上来,也就是每道题,全班50个人,每个人都要抄写一遍。按照现在的时间理论来说,就是浪费了50个人的时间。但是,那个时候条件限制,老师也是不得已而为之。现在好了,老师做一份电子版的习题,打印一...

建造者模式

2017-09-03
阅读 6 分钟
1.5k
无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述,建造者模式可以将部件和其组装过...

单例模式

2017-08-29
阅读 6 分钟
4.6k
对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个计时工具或ID(序号)生成器。

抽象工厂模式

2017-08-28
阅读 4 分钟
2k
在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。

工厂方法模式

2017-08-28
阅读 4 分钟
1.8k
由于简单工厂模式的局限性,比如:工厂现在能生产ProductA、ProductB和ProductC三种产品了,此时,需要增加生产ProductD产品;那么,首先是不是需要在产品枚举类型中添加新的产品类型标识,然后,修改Factory类中的switch结构代码。是的,这种对代码的修改,对原有代码的改动量较大,易产生编码上的错误(虽然很简单,如...

简单工厂模式

2017-08-27
阅读 4 分钟
1.5k
创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。

C++相关面试常见题型

2017-08-24
阅读 8 分钟
2.9k
对内置类型int来说,变量 global_int 定义在所有函数体之外,根据C++的规定,global_int默认初始化为0;而变量 local_int 定义在main函数内部,将不被初始化,如果程序员试图拷贝或输出为初始化的变量,将遇到一个未定义的值。

计算机网络常见面试题

2017-08-23
阅读 4 分钟
12.3k
TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。两者的区别大致如下:

C++的动态绑定和静态绑定

2017-08-23
阅读 2 分钟
2.2k
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误,需要理解四个名词: 对象的静态类型:对象在声明时采用的类型。是在编译期确定的。 对象的动态类型:目前所指对象的类型。是在运行期决定的。 对象的动态类型可以更改,但是静态类型无法更改。 {...