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

自己做的网站被封了长沙高端网站建设服务

自己做的网站被封了,长沙高端网站建设服务,wordpress js跳转,html5 电商网站布局目录 1、装饰器模式#xff08;Decorator Pattern#xff09;含义 2、装饰器模式的UML图学习 3、装饰器模式的应用场景 4、装饰器模式的优缺点 5、C实现装饰器模式的简单实例 1、装饰器模式#xff08;Decorator Pattern#xff09;含义 装饰模式#xff08;Decorato…目录 1、装饰器模式Decorator Pattern含义 2、装饰器模式的UML图学习 3、装饰器模式的应用场景 4、装饰器模式的优缺点 5、C实现装饰器模式的简单实例 1、装饰器模式Decorator Pattern含义 装饰模式Decorator动态地给一个对象添加一些额外地职责就增加功能来说装饰模式比生成子类更为灵活【DP】 装饰模式Decorator Pattern是一种结构型设计模式它允许你在不改变现有对象结构的情况下动态地向对象添加额外的功能。 装饰模式通过将对象包装在装饰器类中实现了透明地扩展对象的能力。 2、装饰器模式的UML图学习 组成元素 1Component是定义一个对象接口可以给这些对象动态地添加职责 2ConcreteComponent是定义了一个具体地对象也可以给这个对象添加一些职责 3Decorator装饰抽象类继承了Component从外类来扩展Component类的功能但对于Component来说是无需知道Decorator的存在的。至于ConcreteDecorator就是具体的装饰对象起到给Component添加职责的功能【DPE】 3、装饰器模式的应用场景 1IO流操作在IO流中可以使用装饰器模式来添加缓冲、加密、压缩等功能而无需修改原始的IO类。 2GUI组件在图形用户界面中可以使用装饰器模式来为组件添加边框、滚动条、阴影等外观效果。 3日志记录可以使用装饰器模式来为日志记录器添加时间戳、日志级别等额外信息。 4权限控制可以使用装饰器模式来为对象添加权限验证、身份认证等功能。 总之装饰器模式适用于需要动态地为对象添加功能并且希望保持对象接口的一致性的场景。 它提供了一种灵活、可扩展和可维护的方式来处理对象功能的变化和组合。 4、装饰器模式的优缺点 1优点 1动态地为对象添加功能装饰器模式允许在运行时动态地为对象添加额外的功能而无需修改原始对象的结构。这对于需要灵活地扩展对象功能的情况非常有用。 2避免使用子类进行扩展通过使用装饰器模式可以避免创建大量的子类来实现不同组合的功能。相反可以通过组合和堆叠装饰器来实现各种功能组合从而更好地管理和维护代码。 3对象功能的透明性装饰器模式使得客户端可以透明地使用被装饰对象和装饰后的对象无需关心具体对象的类型。这样可以简化客户端代码并且使得代码更加清晰易懂。 4单一职责原则装饰器模式可以将功能划分到不同的装饰器中每个装饰器只负责一个特定的功能符合单一职责原则。这样可以使得代码更加可维护和可扩展。 2缺点 1增加复杂性使用装饰器模式会引入更多的类和对象从而增加了系统的设计复杂性。这可能会导致代码结构变得复杂不易理解和维护。 2多层装饰影响性能当使用多个装饰器进行功能堆叠时可能会对性能产生一定的影响。每个装饰器都会增加额外的处理逻辑可能会导致性能下降。 3可能造成对象过度膨胀如果使用过多的装饰器或者装饰器的组合方式不合理可能会导致对象过度膨胀使得系统资源消耗增加。 总结尽管装饰器模式存在一些缺点但它仍然是一种强大且常用的设计模式特别适用于需要动态地为对象添加功能的场景。 在使用装饰器模式时需要根据具体的需求和系统设计来权衡其优缺点并确保合理地应用该模式。 5、C实现装饰器模式的简单实例 #include iostream// 抽象组件 class Component { public:virtual void operation() const 0; };// 具体组件 class ConcreteComponent : public Component { public:void operation() const override {std::cout ConcreteComponent operation std::endl;} };// 抽象装饰器 class Decorator : public Component { protected:Component* component;public:Decorator(Component* component) : component(component) {}void operation() const override {if (component ! nullptr) {component-operation();}} };// 具体装饰器 class ConcreteDecorator : public Decorator { public:ConcreteDecorator(Component* component) : Decorator(component) {}void operation() const override {Decorator::operation();additionalOperation();}void additionalOperation() const {std::cout Additional operation std::endl;} };int main(){// 创建具体组件对象Component* component new ConcreteComponent();// 使用具体装饰器包装具体组件对象Component* decoratedComponent new ConcreteDecorator(component);// 调用装饰后的操作方法decoratedComponent-operation();delete decoratedComponent;delete component;return 0; }在上述示例中我们定义了一个 Component 接口作为抽象组件其中包含了一个 operation 方法。ConcreteComponent 类表示具体组件实现了抽象组件的接口。 Decorator 类是抽象装饰器继承自 Component并且持有一个 Component 的引用。它通过该引用调用被装饰对象的方法。 ConcreteDecorator 类是具体装饰器继承自 Decorator并实现了具体的装饰逻辑。在 operation 方法中它先调用父类的 operation 方法然后执行额外的操作。 在 main 函数中我们创建了一个具体组件对象 component并使用具体装饰器 ConcreteDecorator 对其进行包装。最后调用装饰后的操作方法 decoratedComponent-operation()会先执行具体组件的操作方法然后执行具体装饰器的额外操作。 运行以上代码输出将会是 ConcreteComponent operation Additional operation 可以看到通过装饰模式我们在不改变具体组件对象的情况下动态地为其添加了额外的功能。
http://www.yutouwan.com/news/426868/

相关文章:

  • 网站的建设哪家好陕西专业网站开发联系电话
  • 旅游网站建设策划书模板网络运营岗位职责
  • 手机建设网站公司上海买二手房做哪个网站好
  • 哈尔滨网站建设q479185700惠做律师推广的网站有哪些
  • 网站开发整体流程图学校网站建设项目可行性分析报告
  • 京东网站建设步骤网站建设费长期待摊费用
  • 做伤残鉴约号网站临沂网站建设企业
  • 企业网站建设及运营现状分析网站的静态资源服务器怎么做
  • 微餐饮网站建设比较好网站建站的基本步骤
  • 做暧昧在线网站wordpress 如何进入数据库
  • 大企业网站制作及维护网络销售哪个平台最好
  • 自己建个网站怎么挣钱动漫技术制作专业
  • 广东南电建设集团网站网页页面布局
  • dede部署两个网站做推广怎么做
  • 网站建设 推广薪资企业网站建设和实现 论文
  • 自助网站建设程序淘宝做促销的网站
  • 用旧手机做网站镇江建站
  • 中国做网站找谁手机自助网站建设
  • idea 网站开发建设网站iss
  • 外币投资理财网站开发免费网站建设招商
  • 做设计不能不知道的网站wordpress4.0.6 漏洞
  • 江苏盐城有做淘宝网站的吗男女做暖昩视频试看网站
  • 个人网站需要那些网站建站行业
  • 网站关闭申请书电子商务网站问题与解决方案
  • 情感视频素材网站重庆网站建设机构
  • 北京做网站的公司拟中铁三局招聘文员要求身材好
  • seo如何优化一个网站wordpress推特主题
  • 河南省工程建设业协会网站网页不能运行wordpress
  • 网站建设建设公司什么网站可以做数据调查问卷
  • 自媒体可做外链网站微信公众号开发微网站开发