门面模式,产品经理

来源:互联网 发布:linux软件工程师 编辑:程序博客网 时间:2024/05/16 15:28
一个初创的团队只有一个后台,一个网页前端,一个美工。老板要做一个分享页面,他要分别告诉后台加个链接,告诉美工抓紧设计页面,告诉前端要加酷炫的特效,整个流程下来特别麻烦。几天后公司招了产品经理,老板有需求只要找他就可以解决,工作效率大大提升。

模式定义:为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

案例分析:产品经理就是项目组的门面,他为外界提供加链接、设计页面、加特效的统一接口,然后由他分配给组内员工。

优点:用户只需要直接与外观角色交互,从而降低了系统的耦合度。

注意:一个子系统最好只提供一个门面类

代码:产品经理

public class Pm {    private Html html = new Html();    private Ui ui = new Ui();    private Php php = new Php();    //分享    public void addShare(){        ui.design();//设计        html.addEffects();//加特效        php.addLink();//添加链接    }    //修复bug    public void repairBug(){        php.repairBug();    }    //加特效    public void addEffects() {        html.addEffects();    }    //设计    public void design() {        ui.design();    }    //加链接    public void addLink() {        php.addLink();    }}
前端html
public class Html {    public void addEffects(){        System.out.println("前端加特效");    }}
后台php
public class Php {    public void addLink() {        System.out.println("后台加链接");    }    public void repairBug() {        System.out.println("后台改bug");    }}
设计师ui
public class Ui {    public void design(){        System.out.println("美工做图");    }}
测试
public class Test {    public static void main(String args[]) {        Pm pm = new Pm();        System.out.println("老板要做分享页面");        pm.addShare();        System.out.println("====================");        System.out.println("测试人员提出一个bug");        pm.repairBug();        System.out.println("====================");        System.out.println("客服要一张产品效果图");        pm.design();    }}
结果
老板要做分享页面美工做图前端加特效后台加链接====================测试人员提出一个bug后台改bug====================客服要一张产品效果图美工做图

原创粉丝点击