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

零售网站有哪些平台erp系统定制

零售网站有哪些平台,erp系统定制,推广普通话手抄报模板,关于网站设计的职业一、引言 在软件开发过程中#xff0c;客户端程序经常会与复杂系统的内部子系统进行耦合#xff0c;从而导致客户端程序随着子系统的变化而变化#xff0c;然而为了将复杂系统的内部子系统与客户端之间的依赖解耦#xff0c;从而就有了外观模式#xff0c;也称作 ”门面“… 一、引言 在软件开发过程中客户端程序经常会与复杂系统的内部子系统进行耦合从而导致客户端程序随着子系统的变化而变化然而为了将复杂系统的内部子系统与客户端之间的依赖解耦从而就有了外观模式也称作 ”门面“模式。下面就具体介绍下外观模式。 二、外观模式的详细介绍 2.1 定义 外观模式提供了一个统一的接口用来访问子系统中的一群接口。外观定义了一个高层接口让子系统更容易使用。使用外观模式时我们创建了一个统一的类用来包装子系统中一个或多个复杂的类客户端可以直接通过外观类来调用内部子系统中方法从而外观模式让客户和子系统之间避免了紧耦合。 2.2 外观模式实现 介绍了外观模式的定义之后让我们具体看看外观模式的由来以及实现下面与学校中一个选课系统为例来解释外观模式例如在选课系统中有注册课程子系统和通知子系统在不使用外观模式的情况下客户端必须同时保存注册课程子系统和通知子系统两个引用如果后期这两个子系统发生改变时此时客户端的调用代码也要随之改变这样就没有很好的可扩展性下面看看不使用外观模式下选课系统的实现方式和客户端调用代码 /// summary/// 不使用外观模式的情况/// 此时客户端与三个子系统都发送了耦合使得客户端程序依赖与子系统 /// 为了解决这样的问题我们可以使用外观模式来为所有子系统设计一个统一的接口 /// 客户端只需要调用外观类中的方法就可以了简化了客户端的操作 /// 从而让客户和子系统之间避免了紧耦合 /// /summary class Client { static void Main(string[] args) { SubSystemA a new SubSystemA(); SubSystemB b new SubSystemB(); SubSystemC c new SubSystemC(); a.MethodA(); b.MethodB(); c.MethodC(); Console.Read(); } } // 子系统A public class SubSystemA { public void MethodA() { Console.WriteLine(执行子系统A中的方法A); } } // 子系统B public class SubSystemB { public void MethodB() { Console.WriteLine(执行子系统B中的方法B); } } // 子系统C public class SubSystemC { public void MethodC() { Console.WriteLine(执行子系统C中的方法C); } } 然而外观模式可以解决我们上面所说的问题下面具体看看使用外观模式的实现 /// summary/// 以学生选课系统为例子演示外观模式的使用/// 学生选课模块包括功能有 /// 验证选课的人数是否已满 /// 通知用户课程选择成功与否 /// 客户端代码 /// /summary class Student { private static RegistrationFacade facade new RegistrationFacade(); static void Main(string[] args) { if (facade.RegisterCourse(设计模式, Learning Hard)) { Console.WriteLine(选课成功); } else { Console.WriteLine(选课失败); } Console.Read(); } } // 外观类 public class RegistrationFacade { private RegisterCourse registerCourse; private NotifyStudent notifyStu; public RegistrationFacade() { registerCourse new RegisterCourse(); notifyStu new NotifyStudent(); } public bool RegisterCourse(string courseName, string studentName) { if (!registerCourse.CheckAvailable(courseName)) { return false; } return notifyStu.Notify(studentName); } } #region 子系统 // 相当于子系统A public class RegisterCourse { public bool CheckAvailable(string courseName) { Console.WriteLine(正在验证课程 {0}是否人数已满, courseName); return true; } } // 相当于子系统B public class NotifyStudent { public bool Notify(string studentName) { Console.WriteLine(正在向{0}发生通知, studentName); return true; } } #endregion 使用了外观模式之后客户端只依赖与外观类从而将客户端与子系统的依赖解耦了如果子系统发生改变此时客户端的代码并不需要去改变。外观模式的实现核心主要是——由外观类去保存各个子系统的引用实现由一个统一的外观类去包装多个子系统类然而客户端只需要引用这个外观类然后由外观类来调用各个子系统中的方法。然而这样的实现方式非常类似适配器模式然而外观模式与适配器模式不同的是适配器模式是将一个对象包装起来以改变其接口而外观是将一群对象 ”包装“起来以简化其接口。它们的意图是不一样的适配器是将接口转换为不同接口而外观模式是提供一个统一的接口来简化接口。 2.3 外观模式的结构 看完外观模式的实现之后为了帮助理清外观模式中类之间的关系下面给出上面实现代码中类图 然而对于外观模式而言是没有一个一般化的类图描述下面演示一个外观模式的示意性对象图来加深大家对外观模式的理解 在上面的对象图中有两个角色 门面Facade角色客户端调用这个角色的方法。该角色知道相关的一个或多个子系统的功能和责任该角色会将从客户端发来的请求委派带相应的子系统中去。 子系统subsystem角色可以同时包含一个或多个子系统。每个子系统都不是一个单独的类而是一个类的集合。每个子系统都可以被客户端直接调用或被门面角色调用。对于子系统而言门面仅仅是另外一个客户端子系统并不知道门面的存在。 三、外观的优缺点 优点 外观模式对客户屏蔽了子系统组件从而简化了接口减少了客户处理的对象数目并使子系统的使用更加简单。外观模式实现了子系统与客户之间的松耦合关系而子系统内部的功能组件是紧耦合的。松耦合使得子系统的组件变化不会影响到它的客户。缺点 如果增加新的子系统可能需要修改外观类或客户端的源代码这样就违背了”开——闭原则“不过这点也是不可避免。四、使用场景  在以下情况下可以考虑使用外观模式 外一个复杂的子系统提供一个简单的接口提供子系统的独立性在层次化结构中可以使用外观模式定义系统中每一层的入口。其中三层架构就是这样的一个例子。五、总结 到这里外观模式的介绍就结束了外观模式为子系统的一组接口提供一个统一的接口该模式定义了一个高层接口这一个高层接口使的子系统更加容易使用。并且外观模式可以解决层结构分离、降低系统耦合度和为新旧系统交互提供接口功能。 本文所有源码设计模式之外观模式   注转自http://www.cnblogs.com/zhili/p/FacadePattern.html 转载于:https://www.cnblogs.com/kongnie/p/6491061.html
http://www.zqtcl.cn/news/241514/

相关文章:

  • 建设企业网站公做深度游网站 知乎
  • 可以做h5的网站韶关网站建设制作
  • 企业网站建设的基本要素有哪些通知模板范文
  • 网站建设计划书范本住房和城乡建设部网站事故快报
  • 西安网站建设公司排家居用品东莞网站建设
  • 网站建设评比文章上海手机网站建设价格
  • 微信手机网站三合一建筑工程网络计划方法
  • 网站上文章分享的代码怎么做的建在线教育网站需要多少钱
  • 如何自己弄网站怎么用手机做网站服务器
  • 如果我的网站被百度收录了_以后如何做更新争取更多收录有做不锈钢工程的网站
  • 适合做公司网站的cms东莞阳光网站投诉平台
  • 建设一个网站的意义印刷东莞网站建设技术支持
  • 80端口被封怎么做网站个人网站做支付接口
  • 如何区分网站开发语言建设网站地图素材
  • 建网站的流程怎么投稿各大媒体网站
  • 品牌推广的步骤和技巧专业seo培训学校
  • 新网站上线怎么做seo网站建设语言什么语言
  • 山东省住房城乡和建设厅网站黄页网站推广下载免费
  • 网站建设与运营的论文的范本百度秒收录蜘蛛池
  • asp.net做音乐网站wordpress伪静态规则iis
  • seo 网站优化2021给个最新网站
  • 做废铝的关注哪个网站好seo推广优化的方法
  • 广州活动网站设计电影网站建设策划书
  • 4a景区网站建设标准网站建设排名优化公司
  • 闲置服务器做网站简单做图网站
  • 网站建设制作软件叫啥网盟推广是什么
  • 常州市住房建设局网站大连设计网站的公司
  • 通用wap网站生成系统wordpress 安装旧版本
  • 做网站用的产品展示横幅手机app开发技术
  • 学校网站模板 中文版沈阳seo博客