![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
7种结构性设计模式
成风一二
这个作者很懒,什么都没留下…
展开
-
23种设计模式----享元模式(FlyWeightPattern)
在软件开发过程,如果我们需要重复使用某个对象的时候,如果我们重复地使用new创建这个对象的话,这样我们在内存就需要多次地去申请内存空间了,这样可能会出现内存使用越来越多的情况,这样的问题是非常严重,然而享元模式可以解决这个问题,下面具体看看享元模式是如何去解决这个问题的。 static void Main(string[] args) { // 定义外部状态,例如字母的位置等信息 ...转载 2019-03-19 15:19:43 · 162 阅读 · 0 评论 -
23种设计模式----外观模式(Facade Pattern)
外观模式主要解决的问题:当有多个类要处理时,需要一个个类去调用,没有复用性和扩展性。外观模式将处理子类的过程封装成操作,简化客户端的调用过程。 public class SubSystemOne { public void MethodOne() { Console.WriteLine(" SubSystemOne Method"); } } publi...转载 2019-03-19 15:46:46 · 121 阅读 · 0 评论 -
23种设计模式----组合模式(Composite Pattern)
组合模式主要用来处理一类具有“容器特征”的对象——即它们在充当对象的同时,又可以作为容器包含其他多个对象。 public abstract class Shape { public string name; public Shape(string name) { this.name = name; } public abstract do...转载 2019-03-19 16:39:51 · 161 阅读 · 0 评论 -
23种设计模式----装饰器模式(DecoratorPattern)
对一个类添加一些额外的装饰(功能) public abstract class Tank { public abstract void Run(); } public class T50 : Tank { public override void Run() { Console.WriteLine("T50坦克平均每时运行30公里"); } } ...原创 2019-03-21 16:14:35 · 103 阅读 · 0 评论 -
23种设计模式----适配器模式(Adapter Pattern)
适配器模式将一个接口转换成另外一个接口,以符合客户的期望。 比如现在有一个旧的软件系统,其中有一个组件已经过时了,更新需用到第三方的组件(新组件),但是旧组件的接口和新组件的接口不同,同时,您又不想去改变现有的代码,此时可使用适配器模式。您可以通过适配器模式将新组件的一些接口转换成为你所期望的接口,这样就无需要改变原来的代码,轻松实现从旧组件更新到新组件了。 比如一个 WINE 的工具,它允许用户...翻译 2019-03-25 14:10:20 · 128 阅读 · 0 评论 -
23种设计模式----代理模式(Proxy Pattern)
代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户的不同需求。 代理模式的结构图比较简单,但是在真实的使用和实现过程中要复杂很多...转载 2019-03-18 16:48:39 · 134 阅读 · 0 评论 -
23种设计模式----桥接模式(Bridge Pattern)
如果一个抽象类或接口有多个具体实现子类,而这些子类之中有内容或概念上重叠,需要我们把抽象的共同部分各自独立开来:即原来是准备放在一个接口里,现在需要设计两个接口——抽象接口和行为接口。然后再分别针对各自的具体子类定义抽象接口和行为接口的方法和调用关系。 桥接模式的用意是将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化。 public abst...转载 2019-03-22 16:25:42 · 165 阅读 · 0 评论