了解外观模式
外观模式(Facade pattern),用户操作不同的子系统,要解决用户与子系统的高耦合度,则使用此模式,增加一个用户操作系统,用户可通过此系统,操作到其他子系统,从而降低用户与子系统的耦合。
例如顾客要买肉,水果,用品。顾客一与顾客二买的东西有些一样,有些不一样。
子系统:
public class Fruit { public String apple; public String pear;}
?水果
public class Meat {public String fish;public String chicken;}
?肉
public class Things {public String pot;public String bowl;}
?用品。
如果不使用外观模式
顾客一买水果中的苹果,肉食的鱼
public class ClientA {public void buy(){Fruit f = new Fruit();f.apple="1";Meat m = new Meat();m.chicken="2";}}
?顾客二买水果中的梨,用品中的盆
public class ClientB {public void buy(){Fruit f = new Fruit();f.pear="3";Things t = new Things();t.pot="2";}}
?这样可以看出顾客类,直接在操作子系统。
?
如果使用外观模式,可以提供一个商场,顾客可以去商场买。
public class Shop {Fruit f = new Fruit();Things t = new Things();Meat m = new Meat();}
?
顾客可从这里去买自己想要的。
public class ClientC {public void buy(){Shop s = new Shop();s.f.apple="1";s.m.chicken="2";s.t.pot="3";}}
?
这里不难看出此模式重要作用也是解耦
?