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

单页网站制作工具做的比较好的几个宠物网站

单页网站制作工具,做的比较好的几个宠物网站,什么网站做电子章做得好,网站构建流程装饰模式 什么装饰模式 装饰器模式#xff08;Decorator Pattern#xff09;也叫包装器模式#xff0c;是一种结构型设计模式#xff0c;允许用户在不改变对象的情况下#xff0c;动态地给对象增加一些额外的职责#xff08;功能#xff09;。装饰器模式相比生成子类更…装饰模式 什么装饰模式 装饰器模式Decorator Pattern也叫包装器模式是一种结构型设计模式允许用户在不改变对象的情况下动态地给对象增加一些额外的职责功能。装饰器模式相比生成子类更为灵活因为可以在运行时根据需要动态地添加或删除功能。 职责 动态的为一个对象增加新的功能装饰模式是一种用于替代继承的技术无需通过继承增加子类就能扩展对象的新功能。使用对象的关联关系代替继承关系更加灵活同时避免类型体系的快速膨胀。。 实现细节 抽象组件Component定义一个抽象接口用于规定准备接收附加责任的对象即可以给这些对象动态地添加职责。具体组件ConcreteComponent实现了抽象组件的接口定义了一个具体的“被装饰”对象这个对象可以被装饰器动态地添加功能。抽象装饰器Decorator继承自抽象组件并持有一个抽象组件的引用。抽象装饰器中声明了与抽象组件相同的方法并保留了新增功能的接口以供具体装饰器添加新的功能。具体装饰器ConcreteDecorator实现抽象装饰器所增加的功能并在调用原有方法时增加新的功能。 优点 扩展对象功能比继承灵活不会导致类个数的急剧增加可以对一个对象进行多次装饰创造出不同行为的组合得到功能更加强大的对象具体构件类和具体装饰类可以独立变化用户可以根据需要自己增加新的具体构件子类和具体装饰子类。 缺点 产生很多小对象。大量小对象占据内存一定程度上影响性能装饰器模式容易出错调试排查比较麻烦 案例 一台普通通话手机可扩展出具有拍照功能NCF功能联网功能 UML 实现步骤 定义一个抽象组件用于规定准备接收附加功能/职责的方法IPHONE定义一个具体组件实现抽象组件及实现具备基础功能/职责定义一个抽象装饰器继承抽象组件并持有一个抽象组件的引用。实现抽象组件接口方法中调用传入接口组件引用的具体实例的方法达到调用已具备功能/职责定义一个/多个具体装饰器继承抽象装饰器增加新功能实现抽象接口时调用原有方法及新增功能/职责 实现代码 IPhone.java // 抽象组件 // * 定义一个手机具备某种功能接口的抽象类 public interface IPhone {// 具备功能void function(); }Phone.java // 具体组件 // 定义一个具体组件包含最基础的功能普通手机 public class Phone implements IPhone {Overridepublic void function(){System.out.println(具备通讯功能);}; }PhoneExtendFunction.java //抽象装饰器 // 继承自抽象组件并持有一个抽象组件的引用 public class PhoneExtendFunction implements IPhone{// 持有一个抽象组件的引用,调用已具有的功能private IPhone phone;public PhoneExtendFunction(IPhone phone) {this.phone phone;}Overridepublic void function() {phone.function();} }InternetFunction.java // 具体装饰器 // 实现抽象装饰器所增加的功能并在调用原有方法时增加新的功能。 public class InternetFunction extends PhoneExtendFunction {public InternetFunction(IPhone phone) {super(phone);}public void internet(){System.out.println(联网功能);}Overridepublic void function() {super.function();internet();} }NfcFunction.java // 具体装饰器 // 实现抽象装饰器所增加的功能并在调用原有方法时增加新的功能。 public class NfcFunction extends PhoneExtendFunction{public NfcFunction(IPhone phone) {super(phone);}public void nfc(){System.out.println(NFC功能);}Overridepublic void function() {super.function();nfc();} }PhotographFunction.java // 具体装饰器 // 实现抽象装饰器所增加的功能并在调用原有方法时增加新的功能。 public class PhotographFunction extends PhoneExtendFunction{public PhotographFunction(IPhone phone) {super(phone);}public void photograph(){System.out.println(摄影功能);}Overridepublic void function() {super.function();photograph();} }TestClient.java public class TestClient {public static void main(String[] args) {PhotographFunction phone new PhotographFunction(new InternetFunction(new NfcFunction(new Phone())));phone.function();} }执行结果 装饰器模式和桥接模式的区别 装饰器模式的主要特点是在不改变现有对象结构的情况下动态地给对象增加一些职责功能。装饰器是继承的有力补充比继承更加灵活。通过使用不同的装饰类和它们的排列组合可以实现不同的效果。在装饰器模式中通常会有一个抽象组件和多个具体装饰器每个装饰器都可以为对象添加新的功能而且这些装饰器可以灵活地叠加使用。 桥接模式则是将抽象化与实现化分离使它们可以独立变化。桥接模式包括两个继承体系抽象部分和实现部分。抽象部分定义了一个接口规定了实现部分需要实现的方法。实现部分则是具体的实现细节。通过这种方式桥接模式可以减少派生类的增长因为你可以将不同的抽象部分和实现部分进行组合从而得到不同的功能。 两者的主要区别在于 关注点不同装饰器模式关注于在不改变对象结构的情况下动态增加功能而桥接模式关注于将抽象与实现分离使它们能够独立演化。结构差异装饰器模式是通过包装一个已存在的对象并为其增加新的功能或行为。桥接模式则是通过抽象与实现的分离来组合不同的功能。行为的叠加性在装饰器模式中装饰的行为可以叠加装饰后的对象可以拥有多个装饰器所添加的功能。而在桥接模式中行为通常不会叠加而是通过抽象与实现的组合来提供不同的功能。稳定性与灵活性装饰器模式中的对象本身比较稳定主要是为了增加新功能。而桥接模式本身可能不太稳定因为实现部分可以独立变化。然而这也使得桥接模式更加灵活可以适应更多的变化和需求。 总的来说装饰器模式和桥接模式在设计和使用上有着明显的区别。装饰器模式更注重在不改变原有结构的基础上增加新功能而桥接模式更注重抽象与实现的分离和灵活组合。 gitee源码 git clone https://gitee.com/dchh/JavaStudyWorkSpaces.git
http://www.pierceye.com/news/289096/

相关文章:

  • 建设银行网上银行网站可以开通网银wordpress 种子插件
  • 一般网站图标是用什么做的网件路由器无线中继
  • 手机 网站 开发淘宝店铺网站策划书
  • 网站建设规划方案书滨州网站建设 中企动力
  • 网站建设品牌推荐做网站必须要公网ip
  • 做网站卖东西赚钱wordpress微信网站
  • 商丘网站建设有限公司店面设计费用
  • 张店学校网站建设公司合肥有哪些seo网络公司
  • 做博客网站的空间容量需要多少北京简盟产品设计有限公司
  • 哪些网站怎么进定制开发平台
  • 【郑州网站建设】wordpress自定义后台单页模板
  • 铭誉摄影网站北京网站建设开发
  • 单位还能建设网站吗做网站的程序员留备份
  • 松江团购做网站产品开发的基本流程
  • 织梦后台网站栏目空白小广告制作
  • 钦州建设局网站云南网站建设招商
  • 韩国风格网站php源码网站怎么放到服务器上
  • 网站调优yandex搜索引擎入口
  • 医院网站建设具体内容商丘网站制作电话
  • 别人做的网站直播网站
  • 足球梦网站建设的基本思路沧州做企业网站
  • 招标建设网站什么是微信wordpress
  • 建设银行网站连不上成都网站快照优化公司
  • 网站 永久关停 请示广州网站建设骏域网站
  • 个人建站模板外国网站翻墙怎么做
  • 保定网站设计制作公司有经验的中山网站建设
  • 免费网站建设那个好wordpress本地怎么上传服务器
  • 自己做的网站加载慢WordPress模板首页文件是啥
  • 教学网站建设网站建设岗位有哪些
  • 网站建设合同的验收表网页网站的区别是什么