简单工厂模式之前:简单的套路实现的
在讲简单工厂模式之前,我们先看个例子:
1.用几个函数去执行几个不同的弹出:
function funA(){
alert('a');
}
function funB(){
alert('b');
}
function funC(){
alert('c');
}
如果我们想要弹出a,b,c我们就需要调用不同的方法funA,funB,funC。但是如果我们想弹出的东西很多呢,每次调用都需要看是需要调用哪个方法js 抽象工厂模式,会不会很麻烦。所以我们可以再包一个方法来做处理js 抽象工厂模式,如下所示:
function choose(type){
switch(type){
case 'funA' : funA(); break;
case 'funB' : funB(); break;
default : funC();
}
}
如此一来,我们在调用的时候就统一使用choose这个方法了。
而简单工厂模式就是基于这样一个简单的套路实现的。
首先来看简单工厂模式的定义:Simple Factory,又叫静态工厂方法,由一个工厂对象决定创建某一种产品对象的实例。主要用来创建同一类对象。
正规意义上而言,一个简单工厂需要具备的条件是这样的:
抽象: 定义一个最初的对象(告诉你有这么一个东西);
工厂: 用于创建对象,也即对象的大本营(告诉你这个东西是一堆宝箱,你可以选择要哪个);
具体对象: 最具象的对象,也就是某个大本营(告诉你这个宝箱中都有什么)
好吧,感觉是要贴点代码出来了~
1.我们先创建一个person原型,代码如下:
<p><pre>var Person = function(name,methods){
if(arguments.length > 2){
throw new Error('参数过多');
};
this.name = name;
this.methods = [];
for(var i=0,l=methods.length;i
发表评论
热门文章
Spimes主题专为博客、自媒体、资讯类的网站设计....
仿制主题,Typecho博客主题,昼夜双版设计,可....
一款个人简历主题,可以简单搭建一下,具体也比较简单....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
最新评论
bluejay21st
1月30日
我是作者,很意外我的插件会被转载,非常感谢。因为平时比较忙,改了博客的域名但是并没有及时做重定向以及更新插件,十分抱歉。
大家如果需要可以去Github下载我的插件:
https://github.com/bluejay21st/Typecho-BaiduSeo
https://github.com/bluejay21st/Typecho-Sitemap
chenyu
一天前
[已回复]
怎么配置主题 没看到教程