Home  >  Article  >  Web Front-end  >  Detailed explanation of JS facade pattern use cases

Detailed explanation of JS facade pattern use cases

php中世界最好的语言
php中世界最好的语言Original
2018-06-04 10:48:471421browse

This time I will bring you a detailed explanation of the use cases of JS facade mode. What are the precautions when using JS facade mode? Here are practical cases, let’s take a look.

The facade pattern is a popular design pattern that creates a new interface for an existing object. A facade is a brand new object that has an existing object working behind it. Facades are sometimes called wrappers, they use different interfaces to wrap existing objects. If inheritance is not sufficient for your use case, then it is logical that the next step should be to create a facade.

jQuery and YUI’s DOM interface both use facades. As mentioned above, you cannot inherit from a DOM object, so the only option to safely add functionality to it is to create a facade. The following is an example of DOM object wrapper code:

function DOMWrapper (element) {  this.element = element;
}
DOMWrapper.prototype.addClass = function (className) {  this.element.className += ' ' + className;
}
DOMWrapper.prototype.remove = function () {  this.element.parentNode.removeChild(this.element);
}// 用法var wrapper = new DOMWrapper(
document
.getElementById('my-div'));
wrapper.addClass('selected');
wrapper.remove();

The DOMWrapper type expects a DOM element to be passed to its constructor. The element is saved for later reference and defines some methods for manipulating the element. The addClass() method is a simple way to add className to elements that have not yet implemented the HTML5 classList attribute. The remove() method encapsulates the operation of deleting an element from the DOM, shielding developers from the need to access the parent node of the element. From the maintainability of JS, facade is a very suitable method, and you can fully control these interfaces. You can allow access to any underlying object's properties or methods and vice versa, effectively filtering access to that object. You can also modify existing methods to make them simpler and easier to use (the sample code above is an example). No matter how the underlying objects change, as long as the facade is modified, the application can continue to work normally.

A facade that implements a specific interface to make one object look like another object is called an adapter. The only difference between facades and adapters is that the former creates new interfaces, while the latter implements existing interfaces.

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

How to avoid null comparison in web development


How to detect original values ​​in web development

The above is the detailed content of Detailed explanation of JS facade pattern use cases. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn