摘要: 1.组合模式 定义一个父类,其中包括所有子类的方法接口,那么对于任何一个子类来说对外界都是封闭的,外界只调用父类的接口,而不知道子类是否有实现。2.迭代器模式 这个很常见,在C++中常常会用在标准模版类中,它的功能就是遍历一个类中的成员,而外界不知道对象的成员。3.单例模式 这个模式就是为了只... 阅读全文
posted @ 2015-12-11 16:46 __sipl 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 1.迪米特法则 类之间的联系越少越好,2.外观模式 添加一个新的类,包含子类,实现不同的组合,降低与外界的耦合,对旧代码的更新可以适用。3.建造者模式 和外观模式有些类似吧,实现子类的各种不同的组合,也就是在内部实现接口调用顺序,而在外界只需调用具体的接口。4.观察者模式 一个类A是观察者类... 阅读全文
posted @ 2015-11-27 20:16 __sipl 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 我的理解是建立在C++上的,而书中所用的例子是java的,每一种模式我都会转化为C++中的应用来理解。1.简单工厂模式: 我的理解是父类定义接口,子类实现接口,外加一个根据输入产生不同子类的函数。如果需要添加新实现时,需要添加子类,和修改工厂函数。2.策略模式: 简单一点的理解是将工厂函数和父类... 阅读全文
posted @ 2015-11-21 11:52 __sipl 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 面对新需求,是增加新代码而不是更改现有的代码,开放封闭原则。单一职责原则,我的理解是这个类的层次只属于一层,受其他类的影响很小。 阅读全文
posted @ 2015-10-23 17:24 __sipl 阅读(131) 评论(0) 推荐(0) 编辑
摘要: #的作用是把后面的参数变成一个字符串。如,#define f(a) #af(hello world)相当于"hello world";##的作用是把两个字符串连接起来。如,#define f(n) a##nf(1)相当于变量a1。 阅读全文
posted @ 2015-10-22 16:52 __sipl 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式:函数。生成不同类型的对象。在工厂内创建对象。策略模式:类。封装了算法。在类外生成对象,类指向该对象。将两者相结合:在策略模式中,加上简单工程模式,在类中生成合适的对象。 阅读全文
posted @ 2015-10-21 17:27 __sipl 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 首先,一定要肯定单元测试是作为一个开发人员必须做的工作。所用方法是白盒测试。测试任务包括:1.接口测试,可以说是功能测试2.数据结构测试3.边界条件测试4.所有独立执行通路测试5.错误处理测试我们公司比较欠缺的一点是没有设计文档,我没法根据设计用例编写测试程序,只能根据类的接口和大概的业务需求,编写... 阅读全文
posted @ 2015-10-21 15:02 __sipl 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 链接时优先链接动态库。可以通过调用同一个函数的不同实现来证明,赶着下班,我就不上代码了。总结出的经验就是优先与动态库链接。 阅读全文
posted @ 2015-10-12 20:02 __sipl 阅读(2412) 评论(0) 推荐(0) 编辑
摘要: demo0.cint fun1(){ return 0;}demo1.cint fun1();int fun2(){ fun1(); return 0;}main.c#include int fun2();void main(){ fun2(); printf("%d\n","yeah");}编译结... 阅读全文
posted @ 2015-10-12 19:10 __sipl 阅读(341) 评论(0) 推荐(0) 编辑
摘要: uml九种图,其中的细节不说了。在后面的具体使用中提到这九种图。建模流程:1.分析需求。2.通过分析名词,发现类,使用到类图。3.建立用例模型,通过参与者分析用例,使用到用例图。4.为用例建立交互模型和状态机模型,使用到交互图和状态机图,活动图。5.划分子系统,将各个用例划分为不同的子系统,使用到包... 阅读全文
posted @ 2015-10-09 11:00 __sipl 阅读(883) 评论(0) 推荐(0) 编辑