09 2016 档案

摘要:原子性 (Atomic)(Atomicity) 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。 一致性 (Consi 阅读全文
posted @ 2016-09-30 15:14 jentary 阅读(799) 评论(0) 推荐(0) 编辑
摘要:责任链模式:将能够处理同一类请求的对象连成一条链,如果不能处理则传递给链上的下一个对象。 应用场景:try catch,javascript 冒泡,servlet filter,struts2 拦截器 模仿 JavaWeb 中的 Filter,可以对其思路有个很好的把握1.Filterpackage 阅读全文
posted @ 2016-09-29 21:53 jentary 阅读(5094) 评论(1) 推荐(1) 编辑
摘要:享元模式(flyweight) 当需要有很多完全相同或相似的对象需要创建的时候,主要是相似的时候,我们可以用享元模式。尽可能少创建对象,节省内存。 享元模式主要有4中角色 1.享元的工厂 2.抽象享元对象 2.内部状态对象:可以共享的 3.外部状态对象:不可以共享的 下面以围棋的棋子为例:每个棋子都 阅读全文
posted @ 2016-09-28 22:45 jentary 阅读(198) 评论(0) 推荐(0) 编辑
摘要:原型模式就是克隆该对象,而不是重复的new新对象(自己的理解)和javascript里原型是一个道理的。 原型模式的 对象必须实现Cloneable接口,而Cloneable只是一个空接口,这是一种规范,如果不实现会抛CloneNotSupportedException异常,真正调用的是Object 阅读全文
posted @ 2016-09-28 20:51 jentary 阅读(141) 评论(0) 推荐(0) 编辑
摘要:建造模式是将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调用者无需关心。 举个例子:汽车的生产 建造者 装备者 建造者的具体实现 装配者的具体实现 测试 需要现有建造再有装配 应用例子:StringBuilder中append, Prepa 阅读全文
posted @ 2016-09-28 20:51 jentary 阅读(125) 评论(0) 推荐(0) 编辑
摘要:1.简单工厂模式(静态工厂模式) 实际使用最多 2.工厂方法模式 不修改已有类的前提下,通过增加新的工厂类实现扩展 3抽象工厂模式 不可以增加产品,可以增加产品族 阅读全文
posted @ 2016-09-28 20:51 jentary 阅读(146) 评论(0) 推荐(0) 编辑
摘要:桥接模式(bridge):适用于多层继承机构 ,最少两个维度。 比如 日志管理 1.按格式分类 操作日志,交易日志 2.按距离分类 本地记录日志,异地记录日志 普通的多层次继承 桥接模式 把两种分类分离开来。 在一种类别中引入另一种,利用组合的方式实现多层继承结构 优点:相互独立,容易扩展 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(134) 评论(0) 推荐(0) 编辑
摘要:组合模式(composite):用统一的方式处理整体和部分,多用于树形结构数据的处理。 分为3个部分 1.容器 2.叶子 3.抽象组件 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(161) 评论(0) 推荐(0) 编辑
摘要:代理模式 proxy:为其他对象提供一种代理,并以控制对这个对象的访问,好比经纪人和明星之间的关系,经纪人就是明星的代理类。简单的就是在方法调用前后做处理,AOP思想,好处就是不改变原来类方法的基础上,动态的添加其他方法。 代理模式的3个角色 1.抽象角色2.真实角色 3.代理角色 1.静态代理 首 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(121) 评论(0) 推荐(0) 编辑
摘要:适配器模式(adapter):将一个类的接口转换成成客户希望的接口 1.被适配对象 2.适配器 3.目标接口 就是把被适配对象和目标接口进行连接,都与适配器打交道,被适配对象和目标接口不直接交互,实现松耦合,适配器好比有USB和圆口两种方式的连接线。 电脑需要USB键盘,但键盘是圆口的。 笔记本电脑 阅读全文
posted @ 2016-09-28 20:50 jentary 阅读(123) 评论(0) 推荐(0) 编辑
摘要:GOF23(group of four) 由4个大牛总结的JAVA23种常用的设计模式,归根结底都是为了代码的可扩展性。 设计模式中一种比较重要的思想就是:开闭原则,尽量做到对扩展开放,对修改关闭。 单例模式:开发中最常见也是最简单的一种模式 单例模式确保某个类只有一个实例,而且自行实例化并向整个系 阅读全文
posted @ 2016-09-25 12:22 jentary 阅读(180) 评论(0) 推荐(0) 编辑