当前位置: 首页 > news >正文

表格布局的网站html购物网站设计

表格布局的网站,html购物网站设计,wordpress采集网址,网站制作还花钱前言 什么是门面模式 门面模式是一种结构型设计模式#xff0c;它提供了一个统一的接口#xff0c;用来访问子系统中的一群接口。它定义了一个高层接口#xff0c;让子系统更容易使用。这种模式常用于将一个复杂的子系统封装成一个简单的接口#xff0c;使得客户端可以方… 前言 什么是门面模式 门面模式是一种结构型设计模式它提供了一个统一的接口用来访问子系统中的一群接口。它定义了一个高层接口让子系统更容易使用。这种模式常用于将一个复杂的子系统封装成一个简单的接口使得客户端可以方便地使用子系统的功能而不需要了解子系统的具体实现细节。 门面模式的特点 代理模式能够隐藏真实对象的实现细节使客户端无需知晓真实对象的工作方式和结构。通过代理类来间接访问真实类可以在不修改真实类的情况下对其进行扩展、优化或添加安全措施。代理模式实现起来简单易于扩展和维护符合面向对象设计原则中的开闭原则。 门面模式的核心角色 门面模式Facade Pattern有三个核心角色 门面角色Facade这是门面模式的核心被客户角色调用。它熟悉子系统的功能内部根据客户角色已有的需求预定了几种功能组合。子系统角色Subsystem实现了子系统的功能。对于子系统角色来说门面角色和客户角色都是未知的它没有任何门面角色信息和链接。客户角色Client这是使用门面模式的外部请求者它通过门面角色来访问子系统以获取所需的功能。 门面模式如何实现 假如用门面模式来模拟实现一下去饭店点菜吃饭应该怎么实现呢虽然去饭店吃饭这件事挺普通的但是要想吃到饭起码是要走这样一个流程点餐、炒菜、上菜、收/付钱。其实这里的饭店就可以看作是一个门面角色饭店内不同的角色如老板、收银员、服务员、厨师等可以看作是饭店这个门面内的子系统角色不同的角色职责是不同的服务员负责帮客人点餐、上菜厨师炒菜收银员负责收钱但是对于客人而言吃饭是重点通常不会关注是谁做的、谁端上来的。 那使用门面模式怎么实现呢UML类图如下 1、Restaurant饭店类有三个List类型的属性分别用来表示饭店内会有厨师、服务员、收银员等不同角色的人员对象对应还有三个可以给饭店增加三种不同角色人员的方法最后一个方法就是饭店对外的主要职能可以吃饭 2、Waiter服务员类有两个方法帮客人下单、上菜 3、Cook厨师类有一个方法炒菜 4、Cashier收银员类有一个方法收菜 5、Cilent:客户端类作为客户端直接依赖Restaurant类而不具体去找某个服务员或厨师 /*** 服务员*/ Data AllArgsConstructor public class Waiter {private String name;public void placeOrder(){System.out.println(this.name-帮客人点菜);}public void serveDishes(){System.out.println(this.name-给客人上菜);} } /*** 厨师*/ Data AllArgsConstructor public class Cook {private String name;public void cooking() {System.out.println(this.name -炒菜);} } /*** 收银员*/ Data AllArgsConstructor public class Cashier {private String name;public void collectMoney() {System.out.println(this.name -收钱);} } /*** 饭店*/Data public class Restaurant {private String name;private ListCook cooks new ArrayList();private ListWaiter waiters new ArrayList();private ListCashier cashiers new ArrayList();public Restaurant(String name) {this.name name;}public void addCooks(Cook cook) {this.cooks.add(cook);}public void addWaiter(Waiter waiter) {this.waiters.add(waiter);}public void addCashier(Cashier cashier) {this.cashiers.add(cashier);}private int ranomInt(Integer maxInt){Random random new Random();return random.nextInt(maxInt);}public void eat(){this.waiters.get(this.ranomInt(this.waiters.size())).placeOrder();//点菜this.cooks.get(this.ranomInt(this.cooks.size())).cooking();//炒菜this.waiters.get(this.ranomInt(this.waiters.size())).serveDishes();//上菜System.out.println(客人-吃饭);this.cashiers.get(this.ranomInt(this.cashiers.size())).collectMoney();//收钱} } public class Client {public static void main(String[] args) {Restaurant restaurant new Restaurant(和平饭店);Cook cook1 new Cook(张厨师);Cook cook2 new Cook(李厨师);restaurant.addCooks(cook1);restaurant.addCooks(cook2);Waiter waiter1 new Waiter(王小红);Waiter waiter2 new Waiter(张小月);restaurant.addWaiter(waiter1);restaurant.addWaiter(waiter2);Cashier cashier1 new Cashier(老板);Cashier cashier2 new Cashier(老板娘);restaurant.addCashier(cashier1);restaurant.addCashier(cashier2);restaurant.eat();} } 门面模式的适用场景 门面模式适用于以下场景 为一个复杂的子系统提供一个简单的接口使得客户端可以方便地使用子系统的功能。需要对一个子系统进行封装并隐藏子系统的内部实现细节只提供一个精简的接口供客户端使用这样可以降低客户端与子系统的耦合度。需要提高子系统的独立性使得客户端不直接与子系统交互而是通过门面角色来进行交互。需要隔离客户端与子系统的直接交互预防低水平人员带来的风险扩散。 总结 优点 减少系统的相互依赖门面模式可以让客户端只需要依赖门面对象而与子系统无关。这样可以降低系统耦合度。提高灵活性通过门面角色客户端不再直接与子系统交互而是通过门面角色提供的精简接口来实现交互。这样子系统的内部实现细节可以被隐藏起来子系统如何变化对客户端来说是透明的提高了系统的灵活性。提高安全性外部只能通过门面访问子系统的功能门面没有开放的就不能访问提高了子系统的安全性。 缺点 不符合开闭原则。系统投产后一旦发现错误只能修改门面角色的代码风险比较大。系统的复杂性和理解难度有一定增加 总的来说门面模式可以简化复杂子系统的使用、隐藏实现细节、提高子系统独立性和隔离客户端与子系统的直接交互但也存在一些缺点需要注意。在具体使用时需要根据具体情况进行权衡并考虑是否适合使用该模式。
http://www.w-s-a.com/news/82398/

相关文章:

  • 免费搭建企业网站什么叫网站定位
  • 网站建设cms程序员培训班
  • 网站seo技术wordpress editor ios
  • 红酒网站设计成立公司需要哪些手续
  • 广州做网站哪个好网站建网站建设网站站网站
  • 如何快速提升网站pr短剧个人主页简介模板
  • 上海网站建设 永灿百度权重3的网站值多少
  • 公司展示网站模板模板工
  • 网站建设收费详情舟山公司做网站
  • 深圳宝安区住房和建设局网站html模板大全
  • 和田哪里有做网站的地方wordpress地址更改
  • 恒通建设集团有限公司网站企业网站百度指数多少算竞争大
  • 雅虎网站收录提交入口如何使用wordpress搭建网站
  • 微商城网站建设怎么样发稿是什么意思
  • dz建站与wordpress群晖做网站服务器速度快吗
  • 做手机网站的公司网站建设 app开发 图片
  • 网站开发技术背景介绍wordpress数据库重置密码
  • 开发建设网站的实施过程是一个logo设计品牌
  • 做360pc网站排名首页工程造价信息网官网首页
  • 产品销售网站模块如何设计大数据和网站开发
  • 现在帮别人做网站赚钱不济南做网站建设公司
  • 嘉兴网站建设哪家好最近三天的国际新闻大事
  • 安丘网站建设制作做网站口碑比较好的大公司
  • 成都专业做网站公司哪家好优化大师下载安装免费
  • 防蚊手环移动网站建设广东深圳有几个区
  • 网站建设找哪些平台宜兴网站开发
  • 免费网站应用软件wordpress添加动态图标
  • 中小企业网站建设客户需求调查问卷昆明网站建设一条龙
  • 网站内容的特点wordpress 移动端网页
  • 专门网站建设培训网站系统建设