Chapter 12 外观模式
2014-05-17 15:35
127 查看
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个模式使得这一子系统更加容易使用。
外观模式三个阶段:
首先,在设计初期阶段,应该要有意识的将不同的两个层分离。
其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,增加外观可以提供一个简单的接口,减少他们之间的依赖。
最后,在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,可以为系统开发一个外观类。
示例代码如下:
package xiao;
class Fund{
private Stock2 stock2;
private Stock3 stock3;
private Stock1 stock1;
public Fund(){
this.stock1 = new Stock1();
this.stock2 = new Stock2();
this.stock3 = new Stock3();
}
public void BuyFund(){
stock1.buy();
stock2.buy();
stock3.buy();
}
public void SellFund(){
stock1.sell();
stock2.sell();
stock3.sell();
}
}
class Stock1{
public void buy(){
System.out.println("buy stock one!");
}
public void sell(){
System.out.println("sell stock one!");
}
}
class Stock2{
public void buy(){
System.out.println("buy stock two!");
}
public void sell(){
System.out.println("sell stock two!");
}
}
class Stock3{
public void buy(){
System.out.println("buy stock three!");
}
public void sell(){
System.out.println("sell stock three!");
}
}
public class abc {
public static void main(String[] args) {
Fund jijin = new Fund();
jijin.BuyFund();
jijin.SellFund();
}
}
外观模式三个阶段:
首先,在设计初期阶段,应该要有意识的将不同的两个层分离。
其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,增加外观可以提供一个简单的接口,减少他们之间的依赖。
最后,在维护一个遗留的大型系统时,可能这个系统已经非常难以维护和扩展了,可以为系统开发一个外观类。
示例代码如下:
package xiao;
class Fund{
private Stock2 stock2;
private Stock3 stock3;
private Stock1 stock1;
public Fund(){
this.stock1 = new Stock1();
this.stock2 = new Stock2();
this.stock3 = new Stock3();
}
public void BuyFund(){
stock1.buy();
stock2.buy();
stock3.buy();
}
public void SellFund(){
stock1.sell();
stock2.sell();
stock3.sell();
}
}
class Stock1{
public void buy(){
System.out.println("buy stock one!");
}
public void sell(){
System.out.println("sell stock one!");
}
}
class Stock2{
public void buy(){
System.out.println("buy stock two!");
}
public void sell(){
System.out.println("sell stock two!");
}
}
class Stock3{
public void buy(){
System.out.println("buy stock three!");
}
public void sell(){
System.out.println("sell stock three!");
}
}
public class abc {
public static void main(String[] args) {
Fund jijin = new Fund();
jijin.BuyFund();
jijin.SellFund();
}
}
相关文章推荐
- 【C++】Chapter12:状态模式
- 初识设计模式 chapter 07-适配器模式与外观模式
- 设计模式学习笔记(12)——外观模式
- .NET设计模式(12):外观模式(Façade Pattern)
- 【Java设计模式12】——外观模式
- 12. 外观模式
- 《大话设计模式》—— 读后感 (12)牛市股票还会亏钱?—— 外观模式
- Java常用的设计模式12:常用设计模式之外观模式(结构型模式)
- 笔记-大话设计模式-12 外观模式
- 设计模式_ 外观模式(12)
- 大话设计模式12----外观模式
- .NET设计模式(12):外观模式(Façade Pattern)
- 设计模式:12 外观模式
- 设计模式(12)之外观模式
- 【12】外观模式(Facade Pattern)
- 设计模式--12.外观模式
- 大话设计模式学习笔记(12)——外观模式
- 《大话设计模式》--牛市股票还会亏钱?--外观模式<Facade>(12)
- 设计模式(12)-----外观模式
- .NET设计模式(12):外观模式(Façade Pattern)