C# 23种设计模式
目录
- 0).简单工厂模式
- 1).工厂方法模式
- 2).抽象工厂模式
- 3).单例模式
- 4).构建者模式
- 5).原型模式
- 6).适配器模式
- 7).修饰者模式
- 8).代理模式
- 9).外观模式
- 10).桥接模式
- 11).组合模式
- 12).享元模式
- 13).策略模式
- 14).模板方法模式
- 15).观察者模式
- 16).迭代模式
- 17).责任链模式
- 18).命令模式
- 19).解释器模式
- 20).状态模式
- 21).访问者模式
- 22).中介模式
- 23).解释器模式
前提:
了解面向对象六大设计原则,有的说5大原则,说7大原则的都有,这些原则一般都包含:单一职责、里氏替换、依赖倒置、接口分离、组合复用原则、开闭原则、迪米特法则,理解一下,23种设计模式一般是遵照这些原则具体的实现技巧。
分类:
创建型5种:工厂方法、抽象工厂、单例模式、构建者模式、原型模式,这里经常提到简单工厂模式,不属于23种设计模式
结构型7种:适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式
行为型11种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介模式、解释器模式

0 简单工厂模式

1 工厂方法模式

2 抽象工厂模式

3 单例模式

4 创建者模式

5 原型模式

6 适配器模式

7 装饰模式

8 代理模式

9 外观模式

10 桥接模式

11 组合模式

12 享元模式

13 策略模式

14 模板方法

15 观察者模式

16 迭代器模式

17 责任链模式

18 命令模式

19 备忘录模式

20 状态模式

21 访问者模式

22 中介者模式

23 解释器模式

C# 23种设计模式的更多相关文章
- Java开发中的23种设计模式详解
[放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...
- Java开发中的23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- Java开发中的23种设计模式(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- c#中的23种设计模式
C# 23种设计模式汇总 创建型模式 工厂方法(Factory Method) 在工厂方法模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了哪种具体产品类将被实例化这一细节.工厂方法模式的核 ...
- Java 23种设计模式
转自: http://zz563143188.iteye.com/blog/1847029 ; i<count; i++){ list.add(new MailSender()); } } pu ...
- 从追MM谈Java的23种设计模式(转)
从追MM谈Java的23种设计模式 这个是从某个文章转载过来的.但是忘了原文链接.如果知道的,我追加一下. 1.FACTORY-追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西 ...
- java 23种设计模式及具体例子 收藏有时间慢慢看
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代 码可靠性. 毫无疑问,设计模式 ...
- JAVA:23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- 从追MM谈Java的23种设计模式
从追MM谈Java的23种设计模式 1.FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯 德基,只管向服务员说“来四个鸡 ...
- 23种设计模式全解析 (java版本)
转自:http://blog.csdn.net/longyulu/article/details/9159589 其中PHP常用的五种设计模式分别为:工厂模式,单例模式,观察者模式,策略模式,命令模式 ...
随机推荐
- 洛谷 P1041 错解
P1041 传染病控制 题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染 ...
- mysql 基础语法掌握~ This is just the beginning.
create database 数据库名; drop database 数据库名; use 数据库名; create table table_name ( column_name, column_ty ...
- CF#483(div2 C)
http://codeforces.com/contest/984/problem/C C. Finite or not time limit per test 1 second memory lim ...
- 字符流Reader和Writer
1.Rader是字符输入流的父类. 2.Writer是字符输出流的父类. 3.字符流是以字符(char)为单位读取数据的,一次处理一个unicod. 4.字符类的底层仍然是基本的字节流. 5.Read ...
- ES的基本用法
ES的基本概念 1> 集群和节点 一个es集群是由一个或多和es节点组成的集合 每一个集群都有一个名字, 如之前的wali 每个节点都有自己的名字, 如之前的master, slave1, sl ...
- SSM-SpringMVC-01:SpringMVC是什么?SpringMVC执行流程
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- SpringMVC简介: SpringMVC也叫Spring Web mvc,属于表现层的框架.Sprin ...
- mysql各种引擎对比、实战
1)存储引擎概述: (2)MySQL各大存储引擎: (3)InnoDB和MyIsam使用及其原理对比: (4)InnoDB和MyIsam引擎原理: (5)剩余引擎的使用DEMO(主要是Mrg_Myis ...
- npm安装项目出错
F:\ajax>npm install iview --savenpm WARN saveError ENOENT: no such file or directory, open 'F:\aj ...
- 你不知道的JavaScript--Item9 call(),apply(),bind()与回调
1.call(),apply(),bind()方法 JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定 ...
- windows.go
func LockFile(file *os.File) error { h, err := syscall.LoadLibrary("kernel32.dll") if err ...