- 博客(18)
- 资源 (12)
- 收藏
- 关注
原创 设计模式学习笔记——命令模式
命令模式,将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。核心:把请求一个操作的对象与知道怎么执行一个操作的对象分割开。
2016-03-31 00:31:33 404
原创 设计模式学习笔记——桥接模式
桥接模式,将抽象部分与它的实现部分分离,使他们都可以独立地变化。桥接模式的“将抽象部分和它的实现部分分离”,指的是实现系统可能有多角度分类,每种分类都可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。
2016-03-29 23:55:01 463
原创 设计模式学习笔记——单例模式
1.在内存中只有一个对象,节省内存空间。2.避免频繁的创建销毁对象,可以提高性能。3.避免对共享资源的多重占用。4.可以全局访问。
2016-03-27 16:28:08 445
原创 设计模式学习笔记——迭代器模式
迭代器模式,提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。简化遍历方式,对于Hash表来说,遍历比较麻烦,使用迭代器遍历简单许多。提供多种遍历方式,对于有序列表,可以提供正序遍历,倒序遍历等。封装性好,用户只需要迭代器就可以遍历,对遍历算法不需要关心。
2016-03-27 14:39:27 455
原创 设计模式学习笔记——组合模式
组合模式,将对象组合合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。当需求中体现部分与整体层次结构是,并且需要忽略组合对象和单个对象的不同,统一地使用组合结构中的所有对象时,可以考虑使用组合模式。组合模式定义了基本对象和组合对象层次结构。基本对象可以被组合成更复杂的组合对象,而这个组合对象可以又被组合,递归传递。使用时,任何使用基本对象的地方都可以使用组合对象。
2016-03-26 21:32:36 829
原创 MySQL数据库的数据类型timestamp的自动更新
自动更新:1、列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。 2、列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。 (注意一个UPDATE设置一个列为它已经有的值, 这将不引起TIMESTAMP列被更新, 因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。) 3、你明确地设定TIMESTAMP列为NULL. 4、除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()
2016-03-23 00:21:45 2863
原创 设计模式学习笔记——适配器模式
适配器一词最早来自于电力行业中,如:每个国家的标准电压不同,有的是220V,有的是110V,这个时候就需要适配器从中转换一下。即两个类所做的事情相同或者相似,但具有不同的接口。
2016-03-22 23:31:03 471
原创 设计模式学习笔记——状态模式
当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为,那么就可以使用状态模式了。状态模式通过把各种状态转移逻辑分布到State的子类之间,
2016-03-21 23:44:02 449
原创 设计模式学习笔记——抽象工厂模式
抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。使用工厂模式,只需要关心降低耦合的的目的是否达到
2016-03-21 00:30:18 350
原创 设计模式学习笔记——观察者模式
观察者与被观察者之间属于轻度的关联关系,并且是抽象耦合的,对于两者比较容易扩展。观察者模式是一种常用的触发机制,形成一条触发链,依次对各个观察者的方法进行处理。但是由于链式触发,当观察者比较多的时候,性能问题很难解决。并且链式结构容易出现循环引用错误,造成系统假死。
2016-03-17 11:31:56 458
原创 设计模式学习笔记——建造者模式
建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。产品类Product:一个复杂的对象,换句话说该对象在创建的过程中比较复杂。可以是一个具体类,也可以是一个抽象类与它不同的实现组成。抽象建造者Builder:将建造Product的具体过程交给它的子类实现。容易扩展,至少包括两个方法,一个建造Product,一个返回建造的Product。具体建造者ConcreteBuilder:继承抽象建造者类,实现父类未实现的方法:组建产品,返回组建好的产品。指挥者Directo
2016-03-16 21:36:02 484
原创 设计模式学习笔记——外观模式
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
2016-03-15 16:03:37 504 1
原创 设计模式学习笔记——模板方法模式
抽象方法由抽象类声明不加以实现。定义好规范,然后由子类去实现。模板方法由抽象类声明并加以实现。一般来说,模板方法调用抽象方法来完成主要的逻辑功能,并且,模板方法大多会定义为final类型,指明主要的逻辑功能在子类中不能被重写。钩子方法由抽象类声明并加以实现。但子类可以扩张,子类可以通过扩展钩子方法来影响模板方法的逻辑。(违反里氏替换原则)
2016-03-14 22:07:06 465
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人