![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 90
小新娜不怕
打牌没意义
展开
-
设计模式学习笔记之单件模式
存在目地:保证一个类仅有一个实例,并提供一个全局访问点。应用场景:只有一个实例才符合逻辑的正确性,如总统仅有一个; 具有相同职责时,没有必要建立多个实例,避免频繁构造减少性能损失浪费资源。具体实例:.NET Remoting中服务器激活对象中的Sigleton对象,确保所有的客户程序的请求都只 有一个实例来处理。系统中只能有一个窗口管理器。实原创 2009-02-07 23:19:00 · 402 阅读 · 0 评论 -
设计模式学习笔记之工厂模式
存在目地:工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定将哪一个类实例化,不必事先知道每次要实例化哪一个类。工厂模式有以下几种形态:简单工厂专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式,属于类的创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例原创 2009-02-07 23:26:00 · 428 阅读 · 0 评论 -
设计模式学习笔记之建造者模式
存在目地:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。应用场景:在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”原创 2009-02-08 22:45:00 · 1051 阅读 · 0 评论 -
设计模式学习笔记之原型模式
存在目地:通过一个原型实例来指明所要创建的对象类型,并且用拷贝这个原型实例的办法创建出更多的同类型实例对象。应用实例:细胞分裂,孙大圣的三根汗毛……应用场合:避免创建一个与产品类层次平行的工厂类层次简单实现:using System;// 抽象原型角色,具体原型角色的接口abstract class Prototype{ // Fields privat原创 2009-02-10 23:57:00 · 419 阅读 · 0 评论 -
设计模式学习笔记之适配器模式
存在目地:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。应用场合:由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。应用实例:ADO.NET原创 2009-02-11 16:14:00 · 562 阅读 · 0 评论 -
设计模式学习笔记之桥接模式
存在目地:将抽象部分与实现部分分离,使它们都可以独立的变化。也即将抽象和实现进行脱耦,使用组合/聚合关系而不是继承使二者可以相对独立的变化。应用场合:某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。实现方式:using System原创 2009-02-15 17:54:00 · 459 阅读 · 0 评论