设计模式-C#
科学的发展-只不过是读大自然写的代码
科学的发展-只不过是读大自然写的代码
展开
-
坦克大战游戏-工厂模式实现(c#)
代码(c++)代码(c#)代码(java)using System;namespace 抽象工厂{ class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Clie...原创 2019-10-16 08:49:54 · 256 阅读 · 0 评论 -
坦克大战-抽象工厂实现(c#)
抽象工厂实现坦克大战(java实现)抽象工厂实现坦克大战(c#实现)抽象工厂实现坦克大战(c++实现)代码using System;namespace 抽象工厂{ class Program { static void Main(string[] args) { Console.WriteLine("...原创 2019-10-16 08:28:46 · 152 阅读 · 0 评论 -
迭代器模式-坦克大战-c#
概要提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。类图运行代码using System;namespace 迭代器模式{ class Program { static void Main(string[] args) { Console.WriteLine("...原创 2019-10-30 10:44:28 · 107 阅读 · 0 评论 -
命令模式-坦克大战-c#
概要将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。类图运行代码using System;namespace 命令模式{ class Program { static void Main(string[] args) { C...原创 2019-10-30 08:33:50 · 167 阅读 · 0 评论 -
观察者模式-坦克大战-c#
概要定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。类图运行效果代码using System;using System.Collections.Generic;namespace 观察者模式{ enum State { sort,run} class Program { ...原创 2019-10-29 17:13:30 · 155 阅读 · 0 评论 -
中介者模式-坦克大战-c#
概要用一个中介对象来封装一系列对象交互。中介者使各对象不需要相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。类图运行代码using System;using System.Collections.Generic;namespace 中介者模式{ class Program { static void Mai...原创 2019-10-29 16:48:03 · 98 阅读 · 0 评论 -
坦克大战-创建者模式实现-c#
运行效果代码using System;namespace 创建者模式{ class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Client client = new C...原创 2019-10-24 16:57:07 · 180 阅读 · 0 评论 -
原型模式(c#)
运行效果代码using System;namespace 原型模式{ class Program { static void Main(string[] args) { Console.WriteLine("原型模式"); Client client = new Client...原创 2019-10-24 15:46:52 · 151 阅读 · 0 评论 -
桥接模式-坦克大战-c#
概要将抽象部分与实现部分分离,使它们都可以独立的变化。类图运行代码using System;namespace 桥接模式{ class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"...原创 2019-10-31 11:28:08 · 111 阅读 · 0 评论 -
装饰模式-坦克大战-c#
概要动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。类图运行代码using System;namespace 装饰模式{ class Program { static void Main(string[] args) { Console...原创 2019-10-31 10:02:05 · 147 阅读 · 0 评论 -
组合模式-坦克大战-c#
概要将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。类图运行代码using System;using System.Collections.Generic;namespace 组合模式{ class Program { static void Mai...原创 2019-10-30 17:16:13 · 126 阅读 · 0 评论 -
享元模式-坦克大战-C#
概要运用共享技术有效地支持大量细粒度的对象。类图运行代码using System;using System.Collections.Generic;namespace 享元模式{ class Program { static void Main(string[] args) { Con...原创 2019-10-30 16:40:24 · 120 阅读 · 0 评论 -
外观模式-坦克大战-c#
概要为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。类图运行代码using System;namespace 外观模式{ class Program { static void Main(string[] args) { ...原创 2019-10-30 15:16:14 · 118 阅读 · 0 评论 -
代理模式-坦克大战-C#
概要为其他对象提供一种代理以控制对这个对象的访问。类图运行代码using System;namespace 代理模式{ class Program { static void Main(string[] args) { Console.WriteLine("Hello World!");...原创 2019-10-30 11:19:55 · 98 阅读 · 0 评论 -
模板方法-坦克大战-c#
概要定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。类图运行代码using System;namespace 模板方法{ class Program { static void Main(string[] args) ...原创 2019-10-30 09:13:53 · 120 阅读 · 0 评论 -
适配器-坦克大战-c#
概要将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。类图需求生产坦克,要求A型号的坦克10量,B型号的坦克10量。目前仓库有A型部件15,B型部件5件。如何将A型部件应用到B型坦克上呢,用适配器解决这个问题。运行代码using System;using System.Collect...原创 2019-10-31 16:55:08 · 109 阅读 · 0 评论