- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 策略模式(Strategy)—养牛场卖鲜奶
策略模式:策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的三个角色:环境(Context)角色:持有一个Strategy的引用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口
2015-12-31 16:05:01 709
转载 不变模式(Immutable)
本例实在没啥好写的,理解即可,转载一网上的内容阎宏博士的《JAVA与模式》一书中开头是这样描述不变(Immutable)模式的: 一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。不变模式的结构 不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销。如果需要修改一个不变
2015-12-25 18:44:56 904
原创 适配器模式(Adapter)—山下的养牛场
适配器模式:将一个类的接口转换成客户端所期待的接口,从而使因接口不匹配而无法工作的两个类能够在一起工作。角色列表:目标角色(Target):期待得到的接口源角色(Adaptee):需要适配的接口适配器角色(Adapter):将原接口转换成目标接口,必须是具体类适配器模式可分为类的适配模式与对象的适配模式,区别是类的适配模式中适配器与原接口是继承关系,对象的适配模式中适配器与
2015-12-23 19:26:56 448
转载 正则表达式
这是一篇网上的文章,感觉比较实用,本人整理了下,备在此处留用。1.正则表达式基本语法两个特殊的符号'^'和'$'。他们的作用是分别指出一个字符串的开始和结束。例子如下:"^The":表示所有以"The"开始的字符串("There","The cat"等);"of despair$":表示所以以"of despair"结尾的字符串;"^abc$":表示开始和结
2015-12-22 18:30:43 384
原创 桥接模式(Bridge)—村民打工
桥接模式:某些类型具有多个维度的变化,引入新的维度不会增加系统的复杂度,桥接模式将类的抽象与实现部分分离,实现耦合关系,从而使各个维度可以自由变化。类图如下:在桥接模式中对每个维度进行抽象,然后再抽象类中进行耦合,通过耦合实现调用关系的灵活变化。例:山下的村民需要打工,村里有石雕厂与养牛场/** * 村里的村民要打工,村里有石雕厂 养牛场 * 男村民可以去石雕厂、养牛场
2015-12-17 11:53:35 484
转载 Java 异常基础 Exception
java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常的根类。 比如程序: public class ExceptionTest{ public static void main(String[] args) { int a = 3; int
2015-12-16 14:00:36 4036
转载 spring aop execution表达式
execution 中第一个*表示任何返回类型. 要注意一点,类名需要用一个.占位 再如: save*(..):以save开头的方法
2015-12-15 13:36:50 327
转载 web.xml中的url-pattern映射规则
Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单。servlet和filter中的url-pattern有一些文章在里面的,总结了一些东西,以免遇到问题又要浪费时间。 一,servlet容器对url的匹配过程: 当 一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是
2015-12-10 21:43:41 581
原创 代理模式(Proxy)—山下的水泥厂
代理模式:提供一个代理对象,当原对象被调用时,通过代理对象调用,代理模式起在客户端与原对象中间起到中介的角色。分为三部分角色:抽象对象角色(AbstractObject):声明目标对象与代理对象的抽象接口或类,方便委派具体对象角色(RealObject):定义真正的对象角色代理对象角色(ProxyObject):代理对象含有对具体对象的引用,并持有对具体对象的接口,代理对象一般都会
2015-12-10 14:29:50 1078
原创 享元模式(FlyWeight)—山上打井
享元模式:使用共享来避免许多相同对象的内存开销。类图:包括三个角色:抽象享元角色(FlyWeight):给出抽象类或者抽象接口,规定具体享元类的实现方法。具体享元角色(Concrete):实现抽象享元角色,如果有内蕴状态,给出存储空间。享元工厂角色(FlyWeightFactory):负责管理与创建享元角色。在客户端调用享元对象时,如果系统中存在符合要求的享元对象,就会
2015-12-09 16:25:17 890
原创 门面模式(Facade)(外观模式)—向养牛场送货
门面模式 :为子系统构建与外部系统交互的统一界面。门面模式的优点,我认为有两点: 1:解耦各个子系统,减少子系统与外部系统调用时的频繁调用, 2:屏蔽子系统内的方法,这样就可以尽量少的向外部系统暴露方法。例子:向养牛场送货类图;Facade角色:Guard门卫,负责与内部系统的交互,即与仓库保管员与兽医站人员的交互子系统角色:Verterinary兽
2015-12-08 15:26:58 592
原创 合成模式(Composite)-山下的养牛场
合成模式:描述整体与部分的关系,将对象组织到树结构中,最典型的是文件与文件夹系统,分为安全式与透明式。例子:我家有座山,山下有个养牛场,牛分奶牛与黄牛,每头牛都有编号安全式:类图:抽象构建角色 Cattle类package composite2;/** * 合成模式 安全模式 * 山下牛场里的牛群图 * 抽象构建牛 * @author wang *
2015-12-07 18:26:37 441
原创 装饰模式(Decorator)-山下的石雕厂
装饰模式:是对一个类进行各种功能的丰富,使用Decorator模式扩充类的功能会比用子类生成的方式更加的灵活。装饰者与被装饰者拥有共同的超类。类图: 我家有座山,山下有座石雕厂,石雕厂有打磨石狮子的机器 抽象构建角色(被装饰者):石雕厂Carved类 具体构建角色(被装饰者的初始状态):雕刻石狮子LionCarved 装饰角色(持有构件的实例):机器
2015-12-02 20:02:31 376
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人