
架构设计
文章平均质量分 58
startwithdp
把知识点串成线,然后组成面
展开
-
工作积累之CPPUNIT框架
1) 测试对象族 CPPUNIT的测试对象的类关系图: Test:所有测试对象类的抽象基类,主要是定义run方法和统计子对象个数和查找遍历子对象的方法; TestFixture:该类非常简单,只定义了两个方法setUp和tearDown,作为测试对象的准备和拆除方法,一般用户编写的测试类都直接继承它; TestComposite、TestLeaf:根据设计模式中组合模式而设转载 2012-03-09 17:57:53 · 674 阅读 · 0 评论 -
如何阅读大型代码库
Casey问我:“对于新手,有什么有针对性的诀窍来阅读大型代码库吗?”碰巧,我认为这是一个非常好的问题。我觉得想要成为一个优秀的开发者,阅读代码库并弄清清楚内部是怎么回事的能力非常重要。在你的职业生涯中你会中途加入一个现有的项目并被要求迅速融入进去。或者,甚至更难,会有一个项目丢给你让你自己一个人搞清楚。最坏的情景就是你被带入一个项目,要你替换掉让工程运行失败的“那些肆无忌惮的*杂种”,并转载 2013-12-03 14:08:45 · 712 阅读 · 0 评论 -
工作总结之查看DLL依赖的工具
在VS2005的路径(C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin)下,有个depends.exe文件。它可以查看库的依赖关系。双击打开它,将dll文件拖放进来,可以看到如下的界面:1)窗口分四部分: 左上角是DLL信息窗口,显示本DLL所依赖的其他DLL模块; 右边第一个窗口是所选的DLL模块转载 2012-11-05 11:13:52 · 9484 阅读 · 0 评论 -
工作总结之vc++DLL编程深入浅出
一直对dll编程一知半解,每次都零星的知道一点,没有系统的学习过。直到看到一篇文章,写的很系统。在此做个记录,防止重复查找资料浪费时间。也给别人提供一点帮助。本地存放地址:D:\workspace\生产编辑平台\网络资料\VC++动态链接库(DLL)编程深入浅出(全).pdf.原创 2012-11-05 15:35:36 · 598 阅读 · 0 评论 -
工作总结之DLL注册
在windows操作系统中,如果要使用一个组件就必须注册,这个注册其实就是在注册表中写入标识,当然还必须首先把组件放入到系统目录中,因为系统要对该组件进行统一的管理.我们还是先介绍什么是组件? 说到组件,我们的第一个反映是他必须是面向对象的,其实在windows下唯一需要注册的就是com组件,因为windows系统只有对com组件的掌控才有实际的意义,因为com组件是跨语言的,任何转载 2012-11-05 11:54:29 · 576 阅读 · 0 评论 -
软考复习之Decorator模式的理解
一、模式概述一个场景是我们要为一个对象动态添加新的职责,这个职责并不修改原有的行为,而是在原有行为基础上添加新的功能,就好比装饰工人为一座新居的墙上涂抹上色彩缤纷的颜料一般。从我们拥有的面向对象的知识出发,为一个对象增加新的职责,完全可以利用继承机制,然而再通过实例化派生的子类,来获得新增的职责。由于需要在原有行为基础上添加新功能,此时父类的方法应该为虚方法,例如用户登录行为:publ转载 2012-10-31 11:06:39 · 610 阅读 · 0 评论 -
软考复习之软件架构风格
1) Garlan和 Shaw将软件架构风格分为5大类:(1) 数据流风格:包括批处理序列架构风格(Batch Sequential)和管理/过滤器架构风格(Pipes/Filters)。(2) 调用/返回风格:包括主程序/子程序架构风格(Main Program and Subroutine)、数据抽象和面向对象架构风格(DataAbstraction and Ob转载 2012-10-15 11:46:00 · 5905 阅读 · 1 评论 -
软考复习之动态生成对象
public class MyClass { public MyClass(){ } public void sayHello(String who) { System.out.println("hello world "+who); } } 如果要动转载 2012-10-22 10:04:55 · 647 阅读 · 0 评论 -
UML之继承、实现、依赖、关联、聚合、组合
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;实现指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字impleme转载 2012-10-07 17:09:57 · 491 阅读 · 0 评论 -
工作积累之Iterator模式理解
GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。从定义可见,迭代器模式是为容器而生。再看STL:其中的容器提供迭代器,算法使用迭代器。模式UML图:对容器对象的各个元素的访问必然涉及到遍历算法,如果单单是为了不暴露该对象的内部细节,可以在容器对象中实现遍历算法,提供遍历自身的接口,但是为什么不这么做呢? 在原创 2012-05-23 17:50:00 · 505 阅读 · 0 评论 -
工作积累之Mediator 模式的理解
Mediator的意思是中介者、调节者、传递物,顾名思义,这个模式在程式中必然负担一个中介、调节、传递的工作。物件导向设计中,每个物件所负担的工作尽可能的简单明了,鼓励物件将工作分布至其它物件上,让一群工作属性相同的物件得以共同合作,即所谓高聚合性,以增加物件的可重用性。然而在组织物件工作的同时,物件彼此之间可能知道彼此的存在,并相互依赖,这就使得物件之间的耦合性相对的提高,最差的情况下,转载 2012-05-29 23:17:29 · 486 阅读 · 0 评论 -
浅谈partial class的理解
浅谈partial class的理解第一种说法: partial classes:局部类型 partial类型可以使我们把对某个类的描述写在不同地方,甚至写到两个或多个不同的文件中去。partial信息只对编译器有用,编译器在编译时看到对某个类的描述是“碎”的(partial 的),它会去其他地方收集该类的其他碎片,然后把所有的该类的碎片组合成完整的一个类,再对其编译。所以partial转载 2014-05-07 15:53:23 · 798 阅读 · 0 评论