Android的开发之&java23中设计模式------>外观模式
来源:互联网 发布:手机淘宝收货地址在哪 编辑:程序博客网 时间:2024/06/06 09:37
适用场景 (1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。 (2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。 (3) 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。public class FacadeMethodActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_facade_method); ShapeMaker shapeMaker=new ShapeMaker(); shapeMaker.drawCircle(); shapeMaker.drawRectangle(); shapeMaker.drawSquare(); }}
public class ShapeMaker { private Shape circle,rectangle,square; public ShapeMaker(){ circle=new Circle(); rectangle=new Rectangle(); square=new Square(); } public void drawCircle(){ circle.draw(); } public void drawRectangle(){ rectangle.draw(); } public void drawSquare(){ square.draw(); }}
public interface Shape { void draw();}
public class Circle implements Shape { @Override public void draw() { System.out.print("circle"); }}
public class Rectangle implements Shape { @Override public void draw() { System.out.print("rectangle"); }}
public class Square implements Shape { @Override public void draw() { System.out.print("square"); }}
优点 (1)实现了子系统与客户端之间的松耦合关系。 (2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易
github地址:https://github.com/zyj18410105150/DesignMode
阅读全文
0 0
- Android的开发之&java23中设计模式------>外观模式
- Android的开发之&java23中设计模式------>工厂模式
- Android的开发之&java23中设计模式------>原型模式
- Android的开发之&java23中设计模式------>装饰模式
- Android的开发之&java23中设计模式------>代理模式
- Android的开发之&java23中设计模式------>组合模式
- Android的开发之&java23中设计模式《总结》
- Android的开发之&java23中设计模式------>单例模式
- Android的开发之&java23中设计模式------建造者模式
- Android的开发之&java23中设计模式------>抽象工厂模式
- java23中设计模式之工厂模式
- java23中设计模式之代理模式
- java23中设计模式
- java23中设计模式
- java23中设计模式
- java23中开发模式
- android应用开发设计模式之外观模式
- android应用开发设计模式之外观模式
- spring boot jar运行时复制jar中文件
- 用 Construct 2 和面向对象思想开发游戏
- Spring boot 之其核心
- 判断条件相结合
- 重载构造方法的应用
- Android的开发之&java23中设计模式------>外观模式
- 大数据WEB阶段(一)XML文件的操作
- mysql5.7 linux or mac 忘记root密码修改
- 配置文件路径如何写
- Quicksum
- 中断上下文简要概述
- 用 Go 构建一个区块链 -- Part 7: 网络
- 蓝桥杯 入门训练 圆的面积
- (TSOJ1350~1352)面朝大海,春暖花开