一、工厂方法模式
简单工厂模式的缺陷就是类的创建太过于依赖工厂,一旦需要进行程序扩展,就必须修改工厂类的代码
这违背了背包原则。
而工厂方法模式针对这一问题进行了改进。
public interface Sender {
public void send();
}
public interface producer {
public Sender produce();
}
...
分类:
其他好文 时间:
2014-12-21 00:44:42
阅读次数:
186
#python元类,类的创建过程
#首先调用type.__new__
#然后调用类的构造函数 class.__init__
def toString(c):
s="";
if type(c)==tuple:
s="tuple:"
for i in c:
s+=str(i)
s+=","...
分类:
编程语言 时间:
2014-12-17 12:52:11
阅读次数:
138
一、前言 第一次看koajs的示例时,发现该语句 function *(next){...............} ,这是啥啊?于是搜索一下,原来这是就是ES6的新特性Generator Function(生成器函数)。 那什么是生成器函数呢...
分类:
Web程序 时间:
2014-12-17 01:33:33
阅读次数:
255
上一篇实现了Adapter类的创建,和getView函数的分析;
这一篇主要讲第二部分,即将顶部布局加载到ListView中;重点是ReFlashListView的实现上,这一篇中我会谈一谈在阅读源代码的过程中所遇到的困难和采取的方法;
首先看ReFlashListView类:
public class ReFlashListView extends ListView i...
分类:
其他好文 时间:
2014-12-11 19:15:25
阅读次数:
221
1. 简单工厂模式说明:就是创建一个工厂类,里面实现了所对同一个接口的实现类的创建。但是好像JavaScript 好像没有 接口 这号东西,所以我们去掉接口这个层; 当然,我们这里的 实现类 下的成员变量,方法应该都是一样的;例如:这时举短信发送跟邮件发送的例子;1>. 邮件发送[实现]类funct...
分类:
编程语言 时间:
2014-12-08 22:49:47
阅读次数:
242
1、展开运算符(spread(...)operator)以前我们把某一个方法作为某一个对象的方法调用时,方法如下:functionecma(x,y,z){
alert(‘x:‘+x+",y="+y+‘,z=‘+z);
}
varargs=[0,1,2];
ecma.apply(null,args); 有了ECMAScript6就可以变成如下形式了,functionecma(x,y,z){
alert(‘x:..
分类:
其他好文 时间:
2014-11-28 18:27:52
阅读次数:
204
package mypack;public class Outer { Inner1 w = new Inner1(); /** * @param args */ public static void main(String[] args) { // TODO Auto-generated m...
分类:
其他好文 时间:
2014-11-28 09:50:13
阅读次数:
138
创建型模式 工厂方法模式属于类的创建行模式又被称为多态工厂模式。工厂方法模式的意义在于定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中,核心工厂类将不在负责产品的创建,这昂核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口。 简单工厂模式又叫静态工厂模式,由一个工...
分类:
其他好文 时间:
2014-11-27 10:37:23
阅读次数:
198
Generators in ECMAscript 6 are first-class coroutines that produce encapsulated suspended execution(暂停执行) contexts.Yield values and iterate over them ...
分类:
其他好文 时间:
2014-11-23 21:41:42
阅读次数:
266
The spread operator (...) allows you to "explode" an array into its individual elements.Spreate an array:console.log([1,2,3]); // [1, 2, 3] conso...
分类:
其他好文 时间:
2014-11-23 01:55:10
阅读次数:
228