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()
(还是有点迷糊)
二。 装饰器模式一般包含四部分。
抽象基类或接口
被装饰的对象类
装饰类的基类
装饰类的子类
其中,抽象基类是装饰基类和被装饰类的父类,规定两者的主要行为和属性。
被装饰类,是原生态的类,是业务基本承载体。
装饰类的基类,
是对被装饰类的扩张,动态的添加行为(是对原生态行为的扩张,而不会添加另外的对外行为方法)。其,包含抽象基类(即被装饰类)的一个对象属性;在该基类对象的行为方法中,通过调用该对象属性的行为方法,给被装饰对象动态的添加行为。
装饰类的子类,可以多个;根据业务需要,每个新添加的装饰行为为一个装饰子类。
三: 装饰器模式的作用及使用场景:
在不改变原有对象的前提下,动态的增加它的功能,在这种情况下,可以使用装饰器模式。。。 有的时候,希望实现一个基本的核心代码块,由外围代码实现专用性能的包装,最简单的方法,是使用超类,但是超类中使用了继承,而增加了耦合性,在这样情况下,可以使用装饰器模式,组合取代继承。
资讯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()
(还是有点迷糊)
二。 装饰器模式一般包含四部分。
抽象基类或接口
被装饰的对象类
装饰类的基类
装饰类的子类
其中,抽象基类是装饰基类和被装饰类的父类,规定两者的主要行为和属性。
被装饰类,是原生态的类,是业务基本承载体。
装饰类的基类,
是对被装饰类的扩张,动态的添加行为(是对原生态行为的扩张,而不会添加另外的对外行为方法)。其,包含抽象基类(即被装饰类)的一个对象属性;在该基类对象的行为方法中,通过调用该对象属性的行为方法,给被装饰对象动态的添加行为。
装饰类的子类,可以多个;根据业务需要,每个新添加的装饰行为为一个装饰子类。
三: 装饰器模式的作用及使用场景:
在不改变原有对象的前提下,动态的增加它的功能,在这种情况下,可以使用装饰器模式。。。 有的时候,希望实现一个基本的核心代码块,由外围代码实现专用性能的包装,最简单的方法,是使用超类,但是超类中使用了继承,而增加了耦合性,在这样情况下,可以使用装饰器模式,组合取代继承。