C#设计模式简介

Posted 圆孔里的方塞子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#设计模式简介相关的知识,希望对你有一定的参考价值。

    想学C#,只是学习语言是不够的,还需要学程序的章法,站在前人的基础上来学习。淘到一本《C#设计模式》的书,感觉还不错。

      书籍开篇以建筑模式类比,引出软件也有模式。最终将该模式引入软件工程方法学的是软件工程学者4人组,Gang of Four,GoF(分别是Erich Gamma、Richard Helm、Ralph Johnson和John vlissides),他们在1994年就归纳发表了23种软件开发设计模式,目的是为了统一沟通面向对象方法在分析、设计和实现间的鸿沟。

软件模式基本结构

下面列出23种设计模式

GoF的23种设计模式一览表

设计模式的优点:
1)设计模式融合了专家经验,提供了一种标准,方便开发人员之间沟通交流,使得设计方案通俗易懂。
2)方便复用成功的设计和体系结构。
3)使用设计模式使得方案更加灵活,易于修改,且模式中广泛使用面向对象设计原则,使得系统有更好的可维护性。
4)可提高软件系统开发效率和软件质量,一定条件下节约设计成本。
5)帮助初学者更深入地理解面向对象思想。

简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。
主要包括3个角色:
1)Factory(工厂角色):工厂类,负责实现创建所有产品实例的内部逻辑;可被外界直接调用;类中提供静态工厂方法,返回类型为抽象产品类型Product。
2)Product(抽象产品角色): 为工厂类创建所有对象的父类,封装了各种产品对象的公共方法。
3)ConcreteProduct(具体产品角色):是简单工厂模式的创建目标,所有被创建的对象都充当这个角色的某个具体类的实例。每一个具体产品角色都继承了抽象产品角色,需要实现在抽象产品中声明的抽象方法。

C#常用的创建对象的几种方式:
1)使用new关键字直接创建对象。
2)通过反射机制创建对象。
3)通过克隆方法创建对象。
4)通过工厂类创建对象。

     

简单工厂模式的适用环境:

1)工厂类负责创建的对象比较少;
2)客户端对如何创建对象并不关心,只知道传入工厂的类的参数。

参考文献:《C#设计模式》第2版,清华大学出版社

以上是关于C#设计模式简介的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之单例模式学习(C#)

c#面向对象10--简单工厂设计模式

C#设计模式系列:适配器模式(Adapter)

C#毕业论文 基于三层架构的小型超市管理系统毕业设计

C# 简介

Razor简介