摘要:
装饰者模式定义装饰者模式动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。从定义来看,除了提到比继承更有弹性,其他的还是非常模糊,下面就先给出其UML类图。从UML类图可以看到装饰者基类(Decorator)主要使用了一个其基类的组合,另外装饰者分别含有自己的新特性,如ConcreteDecoratorA,有自己特有的字段,ConcreteDecoratorB有自己特有的方法。该模式设计的巧妙的地方就在于以上的特点。为什么说巧妙呢?因为装饰者都含有一个Component的引用,就好比你是老板要找c#开发的,遇到了一个不仅会c#的,还会java的你一样,这样的好处是不 阅读全文
摘要:
单个字符的匹配一.单个字符或字符串二.匹配任意的字符使用“.”,可以像.ea来匹配所有三个字符,三个字符中第一个字符是任意的。如果想单个字符的话,可以使用[dt],匹配d或t。三.匹配区间[a-z][0-9]如果是想即表示字母和数字的话,[0-9a-z]四.可以使用^来表示取反,经常和单个字符使用或范围模式使用如[^a]:表示不为a的匹配,[^1-3^a-z]表示不为1-3和a-z的匹配。注意^的优先级是最弱的,也就是其他的匹配完才会匹配。五.匹配特殊字符,可以使用转义字符\,如果经常写[0-9]或者[^0-9]还是比较累的。现在给出其简化形式\d,\D,字母数字下划线的写法为[a-z0-9A 阅读全文