![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件设计
文章平均质量分 75
solingxu
这个作者很懒,什么都没留下…
展开
-
抽象工厂模式之C#、C++实现
抽象工厂模式别名:Kit遵循原则:依赖倒置意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类;适用:1、系统独立于它的产品的创建、组合、表示时2、系统需要多个产品系列配置时3、一系列相关产品进行联合使用时4、提供产品类库,而只想显示它们的接口而不是实现时参与者:AbstractFactoryConcretefactoryAbstr原创 2013-05-27 14:58:30 · 554 阅读 · 1 评论 -
设计模式之单件模式
单件模式 别名:Singleton意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点;适用性:1.当类只能有一个实例,而客户可以从一个众所周知的访问点访问它时。2.当这个唯一实例应该是通过子类化可扩展的,并且客户端应该无需更改代码就能使用一个扩展实例时。优点:1.对唯一实例的受访控制;2.缩小名空间,避免全局变量污染;3.允许通过子类对操作和表示进行精化;原创 2013-05-28 12:39:54 · 604 阅读 · 1 评论 -
设计模式之工厂方法模式
工厂方法模式 别名:虚构造器意图:定义一个对象创建接口,由子类决定实例化哪个类;适用:1、类不知道它所必须创建的对象时;2、类希望由它的子类来创建对象时;3、当类需要通过多个帮助类来创时,希望通过其中某个帮助类创建对象时;参与者:CreatorConcreteCreatorProductConcreteProductClient效果:1、为类提供原创 2013-05-30 11:03:43 · 431 阅读 · 0 评论 -
设计模式之原型模式
意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新对象。适用:系统应该独立于产品创建、构成和表示时,可分为以下三种情形:1、要实例化的类需要运行时刻加载时;2、需要避免创建与产品类层次结构平行的工厂层次;【解决工厂方法可能存在的问题】3、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。【原创 2013-06-04 13:30:58 · 481 阅读 · 0 评论 -
设计模式之解释器模式(Interpreter)
意图:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。适用:当有一个语言需要解释执行, 并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况时该模式效果最好:1、该文法相对简单。对于复杂的文法, 文法的类层次变得庞大而无法管理。此时语法分析程序生成器这样的工具是更好的选择。它们无需构建抽象语法树即可解释表原创 2013-06-29 10:48:42 · 426 阅读 · 0 评论 -
关于.net中IL语言的一个应用场景 2014-2-10 17:15 阅读(0)
首先,不得不承认,我们很少需要IL语言,但有时使用IL语言会让你的设计变得很合理,当然,如果对IL这种语言有抵触的可以绕道。 在实际编程中,有许多变量的值可能来自于一组已知的值,同时又提供必要的自定义值,以提供扩充可能,基于此种需求,打算设计一个String类,其中范型参数为一枚举变量,该类提供字符串与枚举量两种构造方式(我不想为每个可能的对象都编写一个类,我只想原创 2014-02-10 17:19:03 · 1574 阅读 · 0 评论