用过哪些设计模式

简介:
工厂模式:
主要好处就是可以消除对象间的耦合,通过使用工程方法而不是new关键字。将所有实例化的代码集中在一个位置防止代码重复。
    工厂模式解决了重复实例化的问题 ,但还有一个问题,那就是识别问题,因为根本无法 搞清楚他们到底是哪个对象的实例。
function createObject(name,age,profession){//集中实例化的函数var obj = new Object();
    obj.name = name;
    obj.age = age;
    obj.profession = profession;
    obj.move = function () {
        return this.name + ' at ' + this.age + ' engaged in ' + this.profession;
    };
    return obj;
}
var test1 = createObject('trigkit4',22,'programmer');//第一个实例var test2 = createObject('mike',25,'engineer');//第二个实例
构造函数模式
使用构造函数的方法 ,即解决了重复实例化的问题 ,又解决了对象识别的问题,该模式与工厂模式的不同之处在于:
1.构造函数方法没有显示的创建对象 (new Object());
2.直接将属性和方法赋值给 this 对象;
3.没有 renturn 语句。









本文转自 全栈web笔记 51CTO博客,原文链接:http://blog.51cto.com/12864747/1973638,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
安全 数据建模 网络安全
阿里云申请SSL证书价格多少钱一年?免费版和付费版手动整理
阿里云SSL证书提供免费及多种付费选择,免费版为Digicert品牌,有效期3个月。付费证书涵盖DV、OV、EV类型,品牌包括DigiCert、GlobalSign等,价格从238元至万元不等,满足不同网站安全需求。
317 0
|
负载均衡 算法 Linux
在Linux中,LVS-NAT模式的原理是什么?
在Linux中,LVS-NAT模式的原理是什么?
|
SQL 数据采集 机器学习/深度学习
【转载】CDC——如何有效的进行公司名称匹配
【转载】CDC——如何有效的进行公司名称匹配
337 0
|
存储 算法 Serverless
22年+21年 计算机能力挑战赛初赛C语言程序题 题解
22年+21年 计算机能力挑战赛初赛C语言程序题 题解
404 2
LabVIEW使用Desktop Execution Trace工具包
LabVIEW使用Desktop Execution Trace工具包
288 0
|
分布式计算 Java Apache
Spark - ml.dmlc.xgboost4j / spark 版本匹配与 NoSuchMethodError 解决
spark 项目引入 ml.dmlc.xgboost4j 训练并读取 xgboost 模型,load 模型期间报错 NoSuchMethodError,通过源码的分析得到 xgboost 与 spark 版本对应关系。
632 0
Spark - ml.dmlc.xgboost4j / spark 版本匹配与 NoSuchMethodError 解决
|
Java API Apache
autojs之excel
使用场景 autojs对接poi操作excel
822 0
|
API Android开发
Android Gradle插件对应的Gradle所需版本
Gradle 插件对应的Gradle所需版本 更新 Android Gradle 插件 Android Gradle 插件 API 参考 Android Gradle插件版本的Gradle版本
855 0
Android Gradle插件对应的Gradle所需版本
蓝牙核心规范(V5.2)7.1-深入详解之L2CAP(2)上
蓝牙核心规范(V5.2)7.1-深入详解之L2CAP(2)上
634 0
蓝牙核心规范(V5.2)7.1-深入详解之L2CAP(2)上
|
Dart Java Shell
Markdown实用小技巧: 个个用着都很爽
Markdown实用小技巧: 个个用着都很爽
19445 0
Markdown实用小技巧: 个个用着都很爽