大话设计模式读书笔记10----外观模式(Facade)
2010-04-25 22:40
363 查看
外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更容易使用。
1、在设计初级阶段,应该要有意识的将不同的两个层分离。
2、层与层之间建立外观Facade,为复杂的子系统提供一个简单的接口,使得耦合大大降低。
3、在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂。
4、增加 Facade可以提供一个简单的接口,减少他们之间的依赖。
Facade代码 1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace Facade
6 {
7 class Program
8 {
9 static void Main(string[] args)
{
Facade facade = new Facade();
facade.MethodA(); //由于Facade的作用,客户端可以根本不知道SubSystemOne,SubSystemTwo等。
Console.ReadLine();
}
}
class Facade
{
SubSystemOne one;
SubSystemTwo two;
SubSystemThree three;
public Facade()
{
one = new SubSystemOne();
two = new SubSystemTwo();
three = new SubSystemThree();
}
public void MethodA()
{
Console.WriteLine("方法组A()----");
one.MethodOne();
two.MethodTwo();
three.MethodThree();
}
}
class SubSystemOne
{
public void MethodOne()
{
Console.WriteLine("子系统方法一");
}
}
class SubSystemTwo
{
public void MethodTwo()
{
Console.WriteLine("子系统方法二");
}
}
class SubSystemThree
{
public void MethodThree()
{
Console.WriteLine("子系统方法三");
}
}
}
1、在设计初级阶段,应该要有意识的将不同的两个层分离。
2、层与层之间建立外观Facade,为复杂的子系统提供一个简单的接口,使得耦合大大降低。
3、在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂。
4、增加 Facade可以提供一个简单的接口,减少他们之间的依赖。
Facade代码 1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace Facade
6 {
7 class Program
8 {
9 static void Main(string[] args)
{
Facade facade = new Facade();
facade.MethodA(); //由于Facade的作用,客户端可以根本不知道SubSystemOne,SubSystemTwo等。
Console.ReadLine();
}
}
class Facade
{
SubSystemOne one;
SubSystemTwo two;
SubSystemThree three;
public Facade()
{
one = new SubSystemOne();
two = new SubSystemTwo();
three = new SubSystemThree();
}
public void MethodA()
{
Console.WriteLine("方法组A()----");
one.MethodOne();
two.MethodTwo();
three.MethodThree();
}
}
class SubSystemOne
{
public void MethodOne()
{
Console.WriteLine("子系统方法一");
}
}
class SubSystemTwo
{
public void MethodTwo()
{
Console.WriteLine("子系统方法二");
}
}
class SubSystemThree
{
public void MethodThree()
{
Console.WriteLine("子系统方法三");
}
}
}
相关文章推荐
- 设计模式(10)——外观 Facade
- 设计模式笔记10:外观模式(Facade Pattern)
- 设计模式(10)——Facade(外观)模式
- 【设计模式 - 10】之外观模式(Facade)
- 【设计模式 - 10】之外观模式(Facade)
- 设计模式10: Facade 外观模式(结构型模式)
- 设计模式(10) - Facade外观模式
- 【设计模式】学习笔记10:外观模式(Facade)
- [设计模式] 10 外观模式 facade
- 设计模式(10) 外观模式(FACADE)
- 设计模式(10)-结构型-外观模式(Facade)
- C#面向对象设计模式学习笔记(10) - Facade 外观模式(结构型模式)
- 23种设计模式(10)_结构型_外观模式(Facade Pattern)
- 设计模式笔记10:外观模式(Facade Pattern)
- 外观模式(facade) 之c#
- iOS 设计模式系列:Facade – 外观模式
- 设计模式之【外观模式-Facade】
- Android设计模式源码解析之外观模式(Facade)
- 设计模式学习系列九:外观模式(Facade)
- Android设计模式源码解析之外观模式(Facade)