简单工厂模式又称为静态工厂方法模式,属于创建型模式。
结构
简单工厂模式包括工厂、抽象产品和具体产品三个角色。
工厂根据传入参数和判断逻辑,创建并返回具体产品,是简单工厂模式的核心。一般将工厂方法定义为静态方法,使调用者不需要实例化工厂就可以直接获取具体产品。抽象产品是具体产品必须实现的接口或继承的基类。根据里氏替换原则,如果能够使用基类对象,那么一定能够使用其子类对象;静态工厂方法...
分类:
其他好文 时间:
2015-02-15 16:39:18
阅读次数:
154
/** * *@Title:convertMap *@Description:使用泛型Map转bean *首先先把传入的实体bean的类型通过反射实例化,获取该bean的所有方法。 *遍历map的所有的key,将key首字母变大写,前缀添加set,得到方法名 *然后遍历bean的所有方法,如果有方法名和map的可以拼接的方法名一致, ..
分类:
编程语言 时间:
2015-02-14 01:19:14
阅读次数:
171
回想一下, 我们之前的简单工厂模式, http://www.cnblogs.com/hanxiao-martin/p/4289502.html简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断, 根据客户端的选择条件动态实例化相关的类, 对于客户端来说, 去除了与具体产品的依赖, 在我们的计算器...
分类:
编程语言 时间:
2015-02-13 21:10:24
阅读次数:
311
接口与抽象类是面试中经常会考到的点,容易混淆。首先了解下两者的概念: 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽...
/**
*
* @Title: convertMap
* @Description: 使用泛型Map转bean
* 首先先把传入的实体bean的类型通过反射实例化,获取该bean的所有方法。
* 遍历map的所有的key,将key首字母变大写,前缀添加set,得到方法名
* 然后遍历bean的所有方法,如果有方法名和map的可以拼接的方法名一致,
* 就将map的value插入be...
分类:
其他好文 时间:
2015-02-13 16:41:46
阅读次数:
195
前段时间在做项目的时候,由于是用的纯Servlet基础框架进行开发的,没有用到那些集成的框架,后来在后台处理表单中的数据的时候,感觉有很多东西都是重复的,比较繁琐,例如获取到前台页面表单中的值之后,要在后台实例化一个对象并且调用定义的setter方法来给对象赋值,由于表单中的数据比较多,然后这个调用setter方法的代码就显得有些重复臃肿,后来网上查资料才了解到可以通过java中的反射机制简化这一操...
分类:
编程语言 时间:
2015-02-13 14:48:59
阅读次数:
371
BLLFactory的对象统一调用规则在我的框架里面,所有的业务类调用都是以BLLFactory入口进行开始创建,传递业务对象进去即可创建,这种统一入口的方式能够方便记忆,并减少代码,更重要的是能够很好把一些如缓存规则、创建规则封装起来,简化代码。BLLFactory的创建示意图如下所示。方法一:u...
分类:
Windows程序 时间:
2015-02-13 14:40:29
阅读次数:
1450
1. C++多继承的构造函数是从基类左边到右边。 比如 class a:pulic X,Y。执行顺序则为X,Y,a构造。a,Y,X析构2. C++虚函数主要实现动态绑定。 而纯虚函数,则需要在继承类中实现。有纯虚函数的为抽象类,无法实例化。如果继承类仍然为纯虚函数,则继承类也为抽象类。
分类:
编程语言 时间:
2015-02-12 21:22:01
阅读次数:
280
Series 作为cartControl的基本单位来现实图表数据所以每一个Series代表一种需要显示的类型。首先实例化一个SeriesSeries _series = new Series("处理次数", ViewType.Bar);_series.ArgumentScaleType = Scal...
分类:
其他好文 时间:
2015-02-12 20:05:48
阅读次数:
443
3步骤:1.在需要自适应的Form中实例化全局变量 AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass();2.Form_Load事件中 asc.controllInitializeSize(this);.....