Pattern & Practice
Jeff Xiong
Micrsoft Dynamics CRM MVP,CSDN博客专家
展开
-
Microsoft Enterprise Library: Logging 模块
Microsoft Enterprise Library 中的Logging模块主要用来记录日志,它可以将日志存储在不同的介质中:文本文件,Windows Event,邮件,MSMQ,DataBase,Xml等等。当然它还提供了扩展功能,通过扩展Logging模块的Listener类,我们就能将日志记录在我们需要的地方了。 虽然Microsoft Enterprise Library很庞大,但原创 2012-11-17 22:07:39 · 6313 阅读 · 1 评论 -
工厂方法 FactoryMethod
abstract class FactoryParttern{ public abstract ICommodity MakeCommodity(Commodity commodity); public ICommodity Make(Commodity commodity) { return MakeCommodity(commodity);原创 2010-11-27 15:30:00 · 1373 阅读 · 0 评论 -
观察者模式 ObserverPattern
using System;using System.Collections;using System.Collections.Generic;abstract class PaperBusiness{ ArrayList customerList=new ArrayList(); public void addCustomer(customer customer原创 2010-11-27 16:18:00 · 1196 阅读 · 0 评论 -
蝇量模式 FlyWeightPattern
using System;using System.Collections.Generic;using System.Text;using System.IO;namespace FlyWeightPattern{ public class New { private long _ID; private string原创 2010-11-27 15:46:00 · 2021 阅读 · 0 评论 -
迭代器模式 InteratorPattern
interface Interator { bool hasElement(); object Next();} 迭代器接口using System;using System.Collections;class EmployeeNameTable{ private const int MAXNUMBER = 10; private Arr原创 2010-11-27 15:50:00 · 1256 阅读 · 0 评论 -
解释器模式 InterpretePattern
文法树抽象using System;public abstract class Interpretor { private string _Expression; public Interpretor(string expression) { _Expression = expression; } public strin原创 2010-11-27 15:54:00 · 1380 阅读 · 0 评论 -
中介者模式 MediatorPattern
中介者抽象public abstract class abstractMediator{ public abstract void NotifySomeone(string message, Programer programer);} 中介者实现Ausing System;using System.Collections;public class Programer原创 2010-11-27 15:59:00 · 1344 阅读 · 0 评论 -
备忘录模式 MementoPattern
using System;public class NiceGirl{ private string _Name; private string _Tall; private string _SkinColor; private string _HairColor; private string _Weight; privat原创 2010-11-27 16:05:00 · 1345 阅读 · 0 评论 -
策略模式 StrategyPattern
interface flyBehavior { void fly();} 策略接口Ausing System;using System.Text;class flyBySocket : flyBehavior{ #region flyBehavior 成员 public void fly() { Console.Wr原创 2010-11-27 16:45:00 · 1441 阅读 · 0 评论 -
常用的23种设计模式 - 总结
Gof的23种设计模式原创 2015-11-13 17:18:58 · 2303 阅读 · 1 评论 -
原型模式 PrototypePattern
public interface IClone{ object Clone();} 原型接口using System;public class NiceGirl:IClone{ private string _Name; private string _Tall; private string _SkinColor; priva原创 2010-11-27 16:20:00 · 1287 阅读 · 0 评论 -
职责链模式 ResponsibilityChainPattern
using System;public class Worker{ private string _Name; private string _WorkType; private Worker _NextWorker; public Worker(string name,string worktype) { _Name = na原创 2010-11-27 16:23:00 · 1372 阅读 · 0 评论 -
单件模式 SinglePattern
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;namespace SinglePattern{ class ConnectionItem { private S原创 2010-11-27 16:25:00 · 1251 阅读 · 0 评论 -
状态模式 StatePattern
状态接口interface IState{ void Do(); void UnDo();} 状态Ausing System;class AskPay : IState{ private CustCommodityAuditing _CCA; public AskPay(CustCommodityAuditing cca) {原创 2010-11-27 16:35:00 · 1470 阅读 · 0 评论 -
模板模式 TemplatePattern
using System;using System.Collections.Generic;using System.Text; abstract class Robot { private string _Name; private string _NeedSomething; private string原创 2010-11-27 16:48:00 · 1230 阅读 · 0 评论 -
装饰者模式 DecoratorPattern
using System;abstract class MakeLine{ protected MakeLine _MakeLine; private String _Description; public string Description { get { return _Description; }原创 2010-11-27 15:07:00 · 1435 阅读 · 0 评论 -
组合模式 CompositePattern
using System;using System.Collections;class Node{ private string _Name; private string _Description; public Node(string name, string description) { _Name = name;原创 2010-11-27 14:59:00 · 1064 阅读 · 0 评论 -
抽象工厂 AbstractFactory
interface AbstractFactoryPattern{ ICommodity MakeCommodity(Commodity commodity); IFood MakeFood(Food food);} 抽象工厂接口using System;class FoodAndCommodityFactory : AbstractFactoryPattern原创 2010-11-27 15:40:00 · 1343 阅读 · 0 评论 -
Microsoft Enterprise Library: Cache 模块
Microsoft Enterprise Library中的Cache模块能在多种场景中提供缓存功能:Web程序,桌面程序,WPF程序。我们可以配置Cache模块的缓存处理器,目前系统自带3个缓存处理器:In-Memory,Isolated Storage Cache Store 和 Data Cache Storage。 并且我们还能实现自己的缓存处理器,只需要实现接口 IBackingStor原创 2012-12-27 16:47:56 · 3892 阅读 · 0 评论 -
Microsoft Enterprise Library: Exception Handle 模块
Microsoft Enterprise Library中的Exception Handle模块主要用来处理程序中的异常错误,它的实现原理为遮罩模式:不让敏感的信息泄露。类似Logging模块,我们也可以通过Configuration程序便捷的对它进行配置。 Exception Handle模块默认为我们提供了多种异常处理功能:Wrap Handler,Replace Handler,Log原创 2012-12-26 13:52:36 · 3147 阅读 · 0 评论 -
工具分享:Microsoft Enterprise Library
Microsoft Enterprise Library原创 2012-11-09 10:48:09 · 1767 阅读 · 0 评论 -
代理模式 -保护代理 ProxyPattern
interface IProtectedProxy{ void Request();} 保护代理接口using System;class ProtectedProxy : IProtectedProxy{ private string _Name; private IProtectedProxy _ProtectedTruthInstance;原创 2010-11-27 17:06:00 · 1725 阅读 · 0 评论 -
代理模式 -远程代理 ProxyPattern
interface IRemoteRequest{ void RemoteRequest();} 远程代理接口using System;class RemoteProxy:IRemoteRequest{ private IRemoteRequest _RemoteInstance; public RemoteProxy(IRemoteRequest原创 2010-11-27 17:04:00 · 2319 阅读 · 0 评论 -
代理模式 -虚拟代理 ProxyPattern
interface IVirtualProxy{ void Request();} 虚拟代理接口using System;using System.Threading;class VirtualProxy : IVirtualProxy{ private IVirtualProxy _TruthInstance; private bool fl原创 2010-11-27 17:01:00 · 1504 阅读 · 0 评论 -
MVC模式
namespace MVPPattern{ interface IView { void Button_Click(Object sender, EventArgs e); void Update(int value); void CompositeElement(); }} 视图接口using System;原创 2010-11-27 16:10:00 · 1094 阅读 · 0 评论 -
简单工厂方法 SimpleFactoryMethod
using System;class SimpleFactoryMethod{ public SimpleFactoryMethod() { } public ICommodity MakeCommodity(Commodity commoditytype) { switch (commoditytype) {原创 2010-11-27 15:24:00 · 1138 阅读 · 0 评论 -
How to use Microsoft Unity to implement Ioc and AOP mechanism
Up to now Inversion of control and interception were very popular in software design, because of using they can reduce dependency between different modules. If we use Ioc or Interception mechanism exc原创 2013-06-03 14:07:10 · 2924 阅读 · 0 评论 -
命令模式 CommandPattern
using System;using System.Collections;class Controller{ ArrayList CommandList; public Controller() { CommandList = new ArrayList(); } public void addCommand(IComma原创 2010-11-27 14:51:00 · 1110 阅读 · 0 评论 -
适配器模式 Adapater pattern
接口Ainterface ICircle{ void PutIntoRoundContain();}接口A的实现using System;class Circle : ICircle{ #region ICircle 成员 public void PutIntoRoundContain() { Console.Wri原创 2010-11-27 14:33:00 · 1393 阅读 · 0 评论 -
桥接模式 BridgePattern
抽象部分using System;using System.Collections.Generic;using System.Text;namespace BridgePattern{ public class Worker { private string _Age; private string _Name;原创 2010-11-27 14:43:00 · 1390 阅读 · 0 评论 -
构造器模式 BuilderPattern
using System;public class NiceGirl{ private string _Name; private string _Tall; private string _SkinColor; private string _HairColor; private string _Weight; priv原创 2010-11-27 14:47:00 · 1556 阅读 · 0 评论 -
外观模式 FacadePattern
接口Ainterface IBakeBread{ string BreadType { get; set; } void BakeBread();} 接口A的实现using System;class BakeBread : IBakeBread{ private string _BreadTy原创 2010-11-27 15:18:00 · 1118 阅读 · 0 评论 -
访问者模式 VisitorPattern
待访问对象的抽象using System;public abstract class NiceGirl{ private string _Name, _Age, _HairColor, _SkinColor, _EyesColor, _Clothes, _Shoes, _Bag; public NiceGirl(string name, string age,原创 2010-11-27 16:53:00 · 1412 阅读 · 0 评论