您的位置:首页 > 其它

我读设计模式之外观模式(Facade Pattern)

2008-07-30 13:54 666 查看
学习了外观模式,才发现原来不经义间,自己已经不止一次的用过此模式了。

外观模式强调,外部(客户端)与子系统之间通过一个统一的接口(外观)进行通信。也就说,一个系统中可能包括很多子系统,客户端与其中的任何子系统的通信都通过统一的外观实现,而避免使客户端直接与子系统发生关系。

记得曾经有个项目:数据操作涉及三地三个数据库,也就是说每做一个动作(比如说insert),都要insert到三地去,涉及三个数据库。

记得最初的代码是这样写的:(当时是把三个类写成了一个类中三个方法,为了说明问题,这里分开来写)

Code

using System;

using System.Collections.Generic;

using System.Text;

namespace Demo2

{

class Program

{

static void Main(string[] args)

{

DBOp cDal = new DBOp();

cDal.insertSite();

Console.Read();

}

}

class DBOp

{

public void insertSite()

{

DBOpOne one = new DBOpOne();

DBOpTwo two = new DBOpTwo();

DBOpThree three = new DBOpThree();

one.insertSiteOne();

two.insertSiteTwo();

three.insertSiteThree();

}

}

class DBOpOne

{

public void insertSiteOne()

{

Console.WriteLine("Insert data into site one ");

}

}

class DBOpTwo

{

public void insertSiteTwo()

{

Console.WriteLine("Insert data into site Two ");

}

}

class DBOpThree

{

public void insertSiteThree()

{

Console.WriteLine("Insert data into site Three ");

}

}

}

1.为一个复杂子系统提供一个简单接口。

2.提高子系统的独立性。

3.在层次化结构中,可以使用Facade模式定义系统中每一层的入口。

学习参考:

/content/3496908.html

http://www.cnblogs.com/zhenyulu/articles/55992.html

大话设计模式:外观模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: