设计模式学习笔记-模板方法模式 1. 概述 定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。 2. 模式中的角色 2.1 抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。 2.2 具体类(Concrete
分类:
其他好文 时间:
2016-01-27 18:50:25
阅读次数:
228
策略模式(stragegy) 定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法独立于使用算法的客户(Head First 设计模式)。 策略模式,针对接口编程,而依赖于具体的实现。所以可以在运行时动态改变具体类的行为。主要有涉及三个角色具体类,策略接口,策略类。其中具体类中维持个策略...
分类:
其他好文 时间:
2015-12-21 20:23:48
阅读次数:
146
Java中的24种设计模式与7大原则24种设计模式1、创建型模式抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤...
分类:
编程语言 时间:
2015-11-30 09:50:18
阅读次数:
177
设计工厂模式是为了创建对象。通常在类或者类的静态方法中实现,具有两个目标。其中一个是:当创建相似对象时执行重复操作:另外一个目标是:编译时不知道具体类型(类)的情况下,为工厂客户提供一种创建对象的接口。实现如下://父构造器function CarMaker(){}//在原型中添加共享的方法CarM...
分类:
Web程序 时间:
2015-11-29 22:50:59
阅读次数:
154
TPC:所谓是“每个具体类一张表(table per concrete class)”的意思是:使继承体系中每一个子类都对应数据库中的一张表。每一个子类对应的数据库表都包含了父类的信息,并且包含了自己独有的属性。每个子类对应一张表,而且这个表的信息是完备的,即包含了所有从父类继承下来的属性映射的字段。这种策略是使用标签来定义子类的。
注意:三个类+一个父类映射文件+两张表
st...
分类:
Web程序 时间:
2015-11-28 18:31:13
阅读次数:
232
接口定义了一系列的行为规范,为类型定义一种Can-Do的功能。例如,实现IEnumerable接口定义了GetEnumerator方法,用于获取一个枚举数,该枚举数支持在集合上进行迭代,也就是我们常说的foreach。接口只是定义行为,具体的实现需要由具体类型负责,实现接口的方法又分为隐式实现与.....
分类:
其他好文 时间:
2015-11-27 19:38:15
阅读次数:
138
设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 三、...
分类:
其他好文 时间:
2015-11-25 18:47:08
阅读次数:
121
1.找出应用中可能的变化之处,把他们独立出来。不要和那些不需要变化的代码混在一起。2.针对接口编程,而不是针对实现编程。3.多用组合少用继承。4.为了交互对象之间的松耦合设计而努力。5.类应该对扩展开发,对修改关闭。6.要依赖抽象,不要依赖具体类。7.一个类应该只有一个引起变化的原因。
分类:
其他好文 时间:
2015-11-23 06:10:15
阅读次数:
130
泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:public class Test{}。这样就定义了一个泛型类Test,在实例化该类时,必须指明泛型T的具体类型,例如:Test t = new Test();,指明泛型T的类型为Object。 但是Java中的泛型方法就比较....
分类:
编程语言 时间:
2015-11-17 10:43:53
阅读次数:
243
对于一个是List类型的引用list1,这实际上是某种list1引用没有指定的具体类型,它是T的一种子类,但到底是哪一种子类,编译器也无法确定,因此无法使用add()来添加对象,但是因为可以确定这个list1中的任何对象至少是T类型的,因此可以用get()来返回一个T类型的对象。而对于一个是List...
分类:
编程语言 时间:
2015-11-06 00:18:27
阅读次数:
186