设计模式
丨背水丨
分享一些开发环境的搭建技巧。顺手共享自己期末做的大作业项目、
展开
-
Unity实现AOP编程,配置文件
示例:把其中Animal映射到Cat<configuration> <configSections> <section name="unity" type="Microsoft.Pracetices.Unity.Configuration.UnityConfigurationSection, Unity.Configuration"/> <...原创 2020-04-29 11:18:34 · 398 阅读 · 2 评论 -
使用Castle实现动态代理
在上一篇使用.Net Remoting实现动态代理中,我们实现了对Student的动态代理,现在我们用Castle来实现同样的效果先写一个人物接口public interface IUserProcessor{ string Name { get; set; } int Age { get; set; } void ShowMe();}然后写一个Worker...原创 2020-04-29 10:54:53 · 621 阅读 · 0 评论 -
使用.Net Remoting实现动态代理
先写一个人物接口public interface IUserProcessor{ string Name { get; set; } int Age { get; set; } void ShowMe();}然后写一个Student类实现该接口/// <summary>/// 这里需要同时继承MarshalByRefObject,否则无法动态生...原创 2020-04-29 10:33:48 · 472 阅读 · 0 评论 -
装饰器模式
首先我们有一个抽象类(Animal),有三个属性,和一个发声方法,如下/// <summary>/// 动物抽象类/// </summary>public abstract class Animal{ /// <summary> /// 名称 /// </summary> public string Name...原创 2020-04-21 17:13:55 · 133 阅读 · 0 评论 -
代理模式
代理模式,简而言之就是通过B完成对A的访问思想很容易理解假如现在有一个数据表,我们要完成对他的查询,而且这个查询很耗时现在有一个Query提供查询public class Query{ public string GetData() { Thread.Sleep(2000); //模拟耗时 return "查询结果"; }}正...原创 2020-04-20 16:39:10 · 144 阅读 · 0 评论 -
适配器模式
首先我们创建一个接口IPeoplepublic interface IPeople{ /// <summary> /// 衣 /// </summary> void Clothing(); /// <summary> /// 食 /// </summary> void Food()...原创 2020-04-20 16:11:54 · 112 阅读 · 0 评论 -
原型模式
与单例模式不同的是,原型模式提供的是全新的对象。其余步骤与单例模式 一样,仅在返回对象时所有不同/// <summary>/// 解决对象重复创建问题/// 通过MemberwiseClone来clone新对象,内存操作,直接复制,避免重复创建/// </summary>/// <returns></returns>public sta...原创 2020-04-10 16:25:08 · 89 阅读 · 0 评论 -
单例模式
目标保证进程中,某个类只有一个实例。懒汉式一、私有构造函数如果我们讲一个类的构造函数私有化,那么在外部就不能构造实例了public class Student{ private Student() { Console.WriteLine("调用了一次构造函数"); }}二、创建全局唯一静态变量private static volatile...原创 2020-04-10 16:18:04 · 149 阅读 · 0 评论