版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_36282409/article/details/84192163
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script type="text/javascript" charset="UTF-8">
/***
* 设计模式学习目标:
* 1.了解接口概念,接口的意义,接口的作用
* 2.单体模式
* 3.函数的链式调用
* 4.了解常用设计模式
*
* 1.1接口:
* 接口是面向对象JavaScript程序员的工具箱中最有用的工具之一。
* 对于JavaScript没有定义接口的概念,我们通过模拟高级程序语言的方式来创建JavaScript中的接口。
* 1.2接口的概念:提供一种以说明一个对象应该有哪些方法的手段。
*
* 1.3 通常建立JavaScript接口有三种方式:
* 1.注释描述接口
* 2.属性检测接口
* 3.鸭式辩形接口
* 1.4 接口的利弊:
* 1.对于一些小程序来说,使用接口很显然是不明智的,对项目来说接口的好处也不明显,只是徒增其复杂度而已。
* 2.对于接口的好处,那么显而意见,首先促进代码的重用。
*
*
*/
//eg:注解行接口 :优点:程序员可以有一个参考,缺点:还是属于文档的范畴,这种太松散了,没有检查接口的方法是否被完全实现。
/**
* interface Composite{
* function add(obj);
* function remove(obj);
* function update(obj);
*
*
* }
*
*/
// CompositeImpl implements Composite
var CompositeImpl=function(){
//下面这样写,会创建两个add方法,效率太低。
/*
this.add=function(obj){
};
this.remove=function(obj){
};
this.update=function(obj){
};*/
};
CompositeImpl.prototype.add=function(obj){
//do something...
};
CompositeImpl.prototype.remove=function(obj){
//do something...
};
CompositeImpl.prototype.update=function(obj){
//do something...
};
var c1=new CompositeImpl();
var c2=new CompositeImpl();
alert(c1.add==c2.add);
</script>
</head>
<body>
<h1>New Web Project Page</h1>
</body>