Decorator:
资讯content匹配关键词加链接:
一篇资讯,去关键词库匹配关键词,得到带有url的咨询。但匹配关键词的规则很多,有唯一性匹配 、长短有效性匹配 、关键词优先级匹配
getresult()得到带有url的资讯
analyse()根据自身规则匹配资讯的关键词
抽象类A
类B 继承A
analyses(content list)
得到该资讯中包含的所有关键词(keyword ,position)
类C 继承A 属性A的对象a analyses() 包含a.analyses()
类D 继承C analyses() 关键词的优先级匹配 去掉低优先级关键词
类E 继承C analyses() 唯一性匹配 去除重复的关键词
类F 继承C analyses() 长短有效性匹配
getresult() 执行super.analyses()
A a = new B(content,list<keyword>);
A c = new C(a)
a = new D(c)
a = new E(a)
a = new F(a)
执行a.analyses()
返回a.getresult()
(还是有点迷糊)
二。 装饰器模式一般包含四部分。
抽象基类或接口
被装饰的对象类
装饰类的基类
装饰类的子类
其中,抽象基类是装饰基类和被装饰类的父类,规定两者的主要行为和属性。
被装饰类,是原生态的类,是业务基本承载体。
装饰类的基类,
是对被装饰类的扩张,动态的添加行为(是对原生态行为的扩张,而不会添加另外的对外行为方法)。其,包含抽象基类(即被装饰类)的一个对象属性;在该基类对象的行为方法中,通过调用该对象属性的行为方法,给被装饰对象动态的添加行为。
装饰类的子类,可以多个;根据业务需要,每个新添加的装饰行为为一个装饰子类。
三: 装饰器模式的作用及使用场景:
在不改变原有对象的前提下,动态的增加它的功能,在这种情况下,可以使用装饰器模式。。。
有的时候,希望实现一个基本的核心代码块,由外围代码实现专用性能的包装,最简单的方法,是使用超类,但是超类中使用了继承,而增加了耦合性,在这样情况下,可以使用装饰器模式,组合取代继承。
分享到:
相关推荐
在给出的MOOC课程内容中,以Java Swing组件库为例子,对装饰器模式进行了说明。具体的实现方式如下: - Decorator类是所有装饰器的基类,它继承自JComponent。它接收一个Component类型的参数,并在构造器中进行布局...
1. **组件(Component)**:定义了对象的接口,也就是所有被装饰对象和装饰器对象必须共同遵循的公共行为。这个接口使得装饰者和被装饰的对象可以互换,实现了无缝对接。 2. **具体组件(Concrete Component)**:...
Java 设计模式 - 装饰器模式 装饰器模式(Decorator Pattern)是一种结构性设计模式,它允许您在不影响同一类的其他对象的行为的情况下,静态或动态地向单个对象添加行为。该模式非常有用,当您想要在运行时添加或...
设计模式通常分为三类:创建型模式(如工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式),结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如...
Spring 设计模式之装饰器模式详解 在软件设计中,经常会遇到需要在不修改原有代码的情况下,添加新的功能或行为。这时,装饰器模式便可以发挥其作用。在 Spring 设计模式中,装饰器模式是非常重要的一种设计模式。 ...
装饰器模式允许在不修改对象现有代码的情况下,动态地为对象添加职责。它通过提供一种将对象“包裹”在具有类似接口的对象中的方式来实现这一点,增强了Java设计模式的灵活性。 ## 二、详细解释及实际示例 1. **...
代理模式(Proxy Pattern)、单例模式(Singleton Pattern)、工厂方法...装饰模式(Decorator Pattern)、迭代器模式(Iterator Pattern)、组合模式(Composite Pattern)、观察者模式(Observer Pattern)、责任链...
装饰工程-装饰工程系统-装饰工程系统源码-装饰工程管理系统-装饰工程管理系统java代码-装饰工程系统设计与实现-基于springboot的装饰工程系统-基于Web的装饰工程系统设计与实现-装饰工程网站-装饰工程网站代码-装饰...
装饰工程-装饰工程系统-装饰工程系统源码-装饰工程管理系统-装饰工程管理系统java代码-装饰工程系统设计与实现-基于springboot的装饰工程系统-基于Web的装饰工程系统设计与实现-装饰工程网站-装饰工程网站代码-装饰...
4. 行为型模式:包括职责链模式、命令模式、解释器模式、迭代器模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。行为型模式关注于对象之间的交互和行为,帮助我们更好地管理复杂的...
在实际开发中,迭代器模式常常与其他设计模式结合使用,例如在工厂模式中创建迭代器,或者在装饰器模式中扩展迭代器功能。同时,Java 8引入的流(Stream)API也提供了类似迭代器的功能,但更加强大且易于链式操作。 ...
3. **设计模式分类**:常见的设计模式分为三大类:创建型模式(如工厂模式、抽象工厂模式、单例模式等)、结构型模式(如适配器模式、桥接模式、装饰器模式等)和行为型模式(如观察者模式、策略模式、命令模式等)...
- 解释器模式:提供一个语言的文法表示,并定义了一个接口,用于解释语言中的句子。 - 迭代器模式:提供一种方法顺序访问聚合对象的元素,而又不暴露其底层表示。 - 中介者模式:用一个中介对象来封装一系列的...
装饰器模式可以在不改变对象接口的情况下,动态地给对象添加新的行为或职责。而代理模式可以用来控制对原对象的访问,比如在访问前进行权限检查。 设计模式的应用不仅限于单一模式的使用,更多时候是多种模式的结合...
Java的InputStream和OutputStream家族类就是装饰器模式的典型应用。 7. **适配器模式**:将一个类的接口转换成客户希望的另一个接口,使原本接口不兼容的类可以一起工作。Java的Adapter类和接口适配器是两种实现...
包括适配器模式(Adapter)、桥接模式(Bridge)、装饰器模式(Decorator)、外观模式(Facade)、组合模式(Composite)、享元模式(Flyweight)和代理模式(Proxy)。这些模式可以帮助我们更好地组织代码,实现...