火龙果javaweb设计模式.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
火龙果javaweb设计模式.ppt

Java web设计模式 * * 如何实现里氏代换 我们在涉及类的继承时,可以从“父类不能替换子类,而子类可以替换父类”的思想引导下,进行里氏代换原则实现。 首先正确的进行集成设计。所有基类的方法在其子类中得到实现或重写,并且子类不能写出与业务功能实现无关的多余的方法或实现。 其次,最优的继承层次设计。当其它应用类调用业务功能类时,应该先调用业务功能的基类,而不应该直接调用业务功能的子类对象。 Java web设计模式 * * 里氏代换原则与Struts以及Spring 里氏代换原则与Struts Struts的ActionMessagesStruts具备消息传递功能,其核心如图: Java web设计模式 * * ActionMessage的容器包括ActionErrors和ActionMessages,后者的实例均可以相互设置为容器,并且ActionErrors也可运用errors.add(msgs)使自己成为ActionMessages(父类实例)的容器。此处,较好的运用了“里氏代换”原则的原理,即这种做法实现了在父类涉及的场所子类可安全的代替。 Java web设计模式 * * 2.里氏代换原则与Spring 依据里氏代换原则的原理展开分析,如果可以接收到父类的场所,能够接收到子类。一猫为例,白猫与黑猫都需要睡觉与捕捉老鼠。 (1)建立猫借口。 public interface Cat{ public void catchMouse(); //抓老鼠 public void sieep(); //睡觉 } (2)建立猫实现类(包括白猫和黑猫) Java web设计模式 * * (3)创建bean映射配置文件,例如jackbean.xml(文件名随意取),设置测试代码。 经过getbean返回的对象(如WhiteCat或者BlackCat),均可赋予接口Cat;此时接口类调用其方法时,由于此时父类实际上接收了子类的对象因而此时调用了子类的方法,即Spring实现了 “Cat cat=new WhiteCate();”,当然,子类通过Spring工厂映射配置生成而无需显示。 因此,spring实现了里氏代换原则,即接收父类的地方,也可接收子类。 Java web设计模式 * * 3、设计原则之接口隔离原则: 接口隔离原则简称ISP(Interface Segregation Principle)。它主要以下两个定义: 定义一:“不应强迫客户依赖于他们不用的方法。” 定义二:“一个类对另一个类的依赖性应当是建立在最小的接口上。” 细度以上两个定义,我个人认为他体现的意思基本一致。它们都是说定义接口的表达要准确,不要创建多余的方法。基于此,在现实生活中不难发现接口隔离的案例。比如,将我们的手机构建成一个接口。如下图所示: Java web设计模式 * * 此时,我的手机与他的手机要调用手机接口,则会显示接口的所有方法。但是我的手机与他的手机如果用处不同,则需要将接口重新规划。比如,我的手机用于上网和玩游戏,他的手机用于发短信和通话,则需要规划两个接口,如下图所示: Java web设计模式 * * 为何要实现接口隔离 ISP理解起来很简单,我们可以把接口理解成角色,但是在实际应用开发中却经常有人违反此原则。比如以下两点: 我们经常会发现一个Java代码中有一个大接口,里面放着一大堆方法,其中有些方法根本没有作用。其必然会导致开发人员将不需要实现的方法多次放置在接口中,造成一定程度的代码冗余。 我们在系统开发时,如果一个职责改变了,那么我们就去修改这个接口?这个接口有多少个实现类,我们就要去修改多少个类。如果我们运用接口隔离原则,一开始就设计角色独立的接口,这种情况就不会出现了。 基于此,为了解决此类问题,实现接口的隔离原则是一个较好的方法。 Java web设计模式 * * 如何实现接口隔离 如何实现接口隔离原则,是一个让人深思的课题。我们不放从以下几个方面去考虑: 首先,从业务逻辑角度考虑接口,我们可以把某类功能也设计成接口。 其次,根据场合和调用者的情况,消除无关的方法,只提供类型角色的接口。 再次,我们对客户程序进行有效区分,并对其应用的接口进行变化。比如,当客户程序又乱又杂

文档评论(0)

我的文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档