网站制作方案设计wordpress文章首字下沉
web/
2025/9/29 9:35:45/
文章来源:
网站制作方案设计,wordpress文章首字下沉,网页布局结构,nginx_lua wordpress在上一篇文章中#xff0c;我们描述了适配器设计模式 。 在今天的文章中#xff0c;我们将展示另一种类似的“四结构帮派”模式 。 顾名思义#xff0c;结构模式用于从许多不同的对象形成更大的对象结构。 外观模式就是这样一种模式#xff0c;它为系统内的一组接口提供了简… 在上一篇文章中我们描述了适配器设计模式 。 在今天的文章中我们将展示另一种类似的“四结构帮派”模式 。 顾名思义结构模式用于从许多不同的对象形成更大的对象结构。 外观模式就是这样一种模式它为系统内的一组接口提供了简化的接口因此对客户端隐藏了子系统的复杂性。 何时使用外墙图案 分层外观模式可以在JEE应用程序中用于创建一个层以抽象和统一应用程序中的相关接口。 使用外观将为每个子系统级别定义一个入口点从而使它们只能通过其外观进行通信。 这样可以简化它们之间的依赖关系。 Façade使API和库更易于使用有利于维护和可读性。 它还可以使用单个简化的API整理和抽象各种设计不当的API。 它还减少了外部代码对库内部工作的依赖性从而提供了灵活性。 立面设计图案结构 在上述Façade模式的结构中Façade类将子系统与客户端隔离。 客户端仅与Façade类进行交互而无需了解子系统类。 例 让我们以在线订单处理网站为例。 客户在不了解内部类如何工作的情况下下了订单。 下订单后外观类层将调用子系统的方法例如用于库存检查的“库存”和用于处理付款的“付款”。 处理后它将控制返回给客户端类并带有关于正在处理的订单的确认。 顺序图 外墙设计顺序图 代码示例 Inventory.java – public class Inventory {public String checkInventory(String OrderId) {return Inventory checked;}
} Payment.java public class Payment {public String deductPayment(String orderID) {return Payment deducted successfully;}
} OrderFacade.java public class OrderFacade {private Payment pymt new Payment();private Inventory inventry new Inventory();public void placeOrder(String orderId) {String step1 inventry.checkInventory(orderId);String step2 pymt.deductPayment(orderId);System.out.println(Following steps completed: step1 step2);}
} 客户端程序 public class Client {public static void main(String args[]){OrderFacade orderFacade new OrderFacade();orderFacade.placeOrder(OR123456);System.out.println(Order processing completed);}
} 优点 我们可以使用façade模式来整理所有复杂的方法调用和相关的代码块并将其通过一个单独的Façade类进行通道化。 这样对于客户而言只有一个呼叫。 即使我们更改了子系统包/类及其逻辑也不会影响客户端调用。 简而言之这增加了松散的耦合。 它使创建和使用更加结构化的环境变得更加容易使用和维护并减少了库或其他软件包之间的依赖性。 缺点/后果 缺点之一是子系统方法连接到Façade层。 如果子系统的结构发生变化则需要随后对Façade层和客户端方法进行更改。 有趣的一点 外墙样式可能与调解人样式混淆。 中介器还以类似于外观的方式抽象了子系统的功能。 但是这两种模式之间存在细微的差异。 在中介程序模式的情况下子系统知道中介程序但是在立面的情况下子系统对立面一无所知。 这是从Façade到子系统的一种单向通信。 Java API中使用的外观 javax.servlet.http.HttpSession javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse javax.faces.context.ExternalContext 参考立面 设计模式–来自我们的JCG合作伙伴 Mainak Goswami在Idiotechie博客上的设计观点 。 翻译自: https://www.javacodegeeks.com/2012/11/facade-design-pattern-design-standpoint.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83822.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!