JavaScript模式-Facade和Object文本模式之间的区别
JavaScript Patterns - Difference between the Facade and Object literal pattern
我想知道这两种模式之间有什么区别。
我可能错了,但他们似乎在使用相同的结构来实现与更大代码体的更高级别接口。
立面图案:
var mobileEvent = {
// ...
stop: function (e) {
e.preventDefault();
e.stopPropagation();
}
// ...
};
对象文字:
var myObject = {
property1:"something",
property2:"something else",
method1:function(){
console.log('hello world');
}
};
如果它们真的有不同的用途,我应该什么时候使用它们?
它们使用相同的语法并不意味着它们有相同的目的。许多设计模式具有完全相同的实现,但根据上下文具有不同的含义。
Facade封装一个或多个对象,并为客户端提供更容易的API,从而隐藏模糊性并使其更难出错。在您的示例中,mobileEvent.stop()
函数封装了两个JavaScript调用,这两个调用必须结合在一起才能实现一些更高级别的行为。
Object literal实际上并不是一种模式,它只是在JavaScript中定义一次性对象的一种方式。正如您所看到的,它可以用于实现Facade模式和许多其他模式。
相关文章:
- webpack开发模式和生产构建模式之间有什么区别
- RegEx匹配两种模式之间的所有内容(javascript)
- angularjs和node.js之间共享库的模式
- 在正常模式和全屏模式之间切换窗口
- 这两种模块模式之间的差异
- 模式匹配检查范围之间的邮政编码
- 构造函数模式和原型模式之间的区别
- 获取 Node.js 中两个模式之间的所有字符串
- 提取两种模式之间的数字 javascript
- REGEX-在html注释模式之间插入内容
- JavaScriptREGEX:给我所有的东西,除了这个模式之间的东西
- regex,用javascript获取多个模式之间的匹配文本
- JavaScript模式-Facade和Object文本模式之间的区别
- 不同 JavaScript 模式之间的差异
- 使用事件在视图设计模式之间进行通信
- 基础:如何在中小型显示模式之间切换
- Regex提取模式之间的文本
- JavaScript 设计模式:模块模式和揭示模块模式之间的区别
- 如何在同位素的布局模式之间切换
- 无法可靠地检测 iPhone 纵向和横向模式之间的底部滚动