阿里巴巴的网站建设,网站备案地,互联网网站备案表,网站建设 部署与发布为什么用结构性模式#xff1f; 结构性模式关注点“怎样组合对象/类#xff1f;”所以我们关注下类的组合关系类结构型模式关心类的组合#xff0c;由多个类可以组合成一个更大的#xff08;继承#xff09;对象结构型模式关心类与对象的组合#xff0c;通过关联关系在一… 为什么用结构性模式 结构性模式关注点“怎样组合对象/类”所以我们关注下类的组合关系类结构型模式关心类的组合由多个类可以组合成一个更大的继承对象结构型模式关心类与对象的组合通过关联关系在一个类中定义另一个类的实例对象组合根据“合成复用原则”在系统中尽量使用关联关系来替代继承关系因此大部分结构型模式都是对象结构型模式。
适配器模式Adapter Pattern两个不兼容接口之间适配的桥梁。桥接模式Bridge Pattern相同功能抽象化与实现化解耦抽象与实现可以独立升级。过滤器模式Filter、Criteria Pattern使用不同的标准来过滤一组对象。组合模式Composite Pattern相似对象进行组合形成树形结构。装饰器模式Decorator Pattern向一个现有的对象添加新的功能同时又不改变其结构。外观模式Facade Pattern向现有的系统添加一个接口客户端访问此接口来隐藏系统的复杂性。享元模式Flyweight Pattern尝试重用现有的同类对象如果未找到匹配的对象则创建新对象。代理模式Proxy Pattren一个类代表另一个类的功能。
结构性模式之外观模式Facade Pattern
外观模式
外观模式(Facade)模式又叫做门面模式是一种通过为多个复杂的子系统提供一个一致的接口而使这些子系统更加容易被访问的模式。 代码实现
public class Police {public void register(String name) {System.out.println(name 已办理落户);}
}
public class Social {public void handleSocial(String name) {System.out.println(name 您的社保关系已经转移......);}
}
public class Edu {public void assignSchool(String name) {System.out.println(name 您的的孩子明天可以去上学了......);}
}
public class WeiXinFacade {Police police new Police();Social social new Social();Edu edu new Edu();public void handleXX(String name) {police.register(name);social.handleSocial(name);edu.assignSchool(name);}
}public class MainTest {public static void main(String[] args) {// 没有外观模式以前
// Police police new Police();
// police.register(张三);
//
// Social social new Social();
// social.handleSocial(张三);
//
// Edu edu new Edu();
// edu.assignSchool(张三);// 有外观模式以后WeiXinFacade weiXinFacade new WeiXinFacade();weiXinFacade.handleXX(张三);}
}张三已办理落户
张三您的社保关系已经转移......
张三您的的孩子明天可以去上学了......应用场景
去医院看病可能要去挂号、门诊、划价、取药让患者或患者家属觉得很复杂如果有提供接待人员只让接待人员来处理就很方便。以此类比…Java 的三层开发模式。分布式系统的网关Tomcat 源码中的 RequestFacade 干什么的…