【项目管理/软件架构】
文章平均质量分 78
yangywyangyw
认真,勤奋,脚踏实地!
展开
-
几种创建型的设计模式概析【上】——Factory模式, AbstractFactory模式,Singleton模式【C++实现】
Factory模式只适用于多个具有共同抽象基类的情况,在这种情况下,创建一个用基类的指针指向的子类对象是很吃力的,因为我们需要知道这个子类的名字,而对于大型项目来说,一个父类的子类是何其之多,而且通常情况下,每个程序员只负责其中某一个或某几个类的设计,对于子类的命名当然每个人都各有其好,如此以来,要创建一个新子类的工作是何其麻烦,可能要翻好多代码去领会它们做了什么,然后才能知道需要创建哪个子类。Factory模式就很好的解决了这个问题,它做要达到的目的就是将所有的子类的创建工作都封装到另外一个专门负责创建的原创 2011-03-14 00:02:00 · 1605 阅读 · 0 评论 -
几种创建型的设计模式概析【下】——Builder模式,ProtoType模式【C++实现】
Bulider模式和AbstractFactory模式在功能上有些相似,都是负责管理创建复杂对象的组件。与AbstractFactory模式不同的是,Builder模式是将一个对象的创建分成几个小部分,然后一步一步的进行对象的创建;Builder就是在创建的对象的过程中做文章,通过对不同的步骤传入不同的参数,最后得到不同的创建过程。而AbstractFactory模式不会在创建过程中做文章,它所创建的对象过程也没有先后必然的次序关系,而是一次性创建成功。举个例子来说:不同的汽车汽车有很多组件,方向盘,座椅,原创 2011-03-14 13:40:00 · 1070 阅读 · 0 评论 -
几种结构型的设计模式概析【上】——Bridge模式,Adapter模式,Decorator模式【C++实现】
Bridge模式适用于客户需求经常变化时的类的抽象和封装情况。在OO型的程序设计中,用户的需求变化,意味着类的重新抽象和封装,当用户的需求变化十分频繁时,类的重新抽象和封装工作也就颇为频繁,如此以来,将会增加和修改很多类。这对程序开发人员来说,无非是最大的痛苦。Bridge模式就是为此种情况而生,它将类的抽象和实现分为完全独立的两部分,然后通过聚合使两者又保持一定的联系。这与传统的抽象基类之后再继承子类的作用如出一辙,但却少了增加新类的环节,由此以来,程序员维护的类的数量就减少,代码的可读性也大大增加,最重原创 2011-03-28 14:25:00 · 1150 阅读 · 0 评论 -
几种结构型的设计模式概析【下】——Flyweight模式,Facade模式和Proxy模式【C++实现】
<br />在开发过程当中,有时候对于同一个或很多个大同小异的对象,我们不得不各自创建一个对象来使用它们。这种情况下,我们无意中就会造成很大的存储空间的浪费。Flywight就可以很好的解决这个问题。其UML图如下:<br /> <br /> <br />上图中FlywightFactory中有个对象池(VECTOR实现),用来存放我们要使用的对象,每当我们需要一个新的对象Flyweight时,就在这个对象池中检索看先前是否创建了类似的对象,如果创建了,则直接引用之前的对象,否则新创建一个Flywight对原创 2011-04-24 15:29:00 · 1439 阅读 · 0 评论