En el diseño orientado a objetos, existe un principio de responsabilidad único, lo que significa que en términos de una clase (objeto, función), solo debe haber una razón para su cambio. Si un objeto asume demasiadas responsabilidades, significa que se volverá enorme, y hay muchas razones para su cambio. Combina estas responsabilidades juntas, lo que dificultará mantener y refactorizar el programa.
En este momento, podemos separar parte de las responsabilidades del objeto (ontología) y darla a algunos objetos de terceros. La ontología solo se preocupa por algunas de sus propias responsabilidades centrales, y estos objetos de terceros se denominan agentes. Un objeto proxy puede servir como el protector de un objeto (también llamado "sujeto real"), lo que permite que el objeto real realice el menor trabajo posible. En el patrón de diseño proxy, un objeto actúa como la interfaz de otro objeto.
Por lo general, la interfaz entre el proxy y la ontología debe ser consistente, de modo que cuando no se necesita ningún proxy, el usuario puede acceder directamente a la ontología.
Cuando no es conveniente para nosotros acceder directamente a un objeto, podemos considerar reclutar un agente para el objeto.
El proxy se puede utilizar para: precarga de imágenes, fusionar las solicitudes HTTP (proxy recopila todas las solicitudes HTTP para un cierto período de tiempo y luego las envía al servidor a la vez), la carga perezosa (procesamiento y recopilación de algunas operaciones básicas a través de proxy y luego cargando la ontología solo cuando la ontología es realmente necesaria), cache de cajas de cachas, resultados de la solicitud, los resultados del cálculo), etc., etc., etc., etc., etc., etc., etc., etc., etc., etc., etc., etc., etc., etc., etc., etc., etc.
Ejemplo 1: Preparación de imagen
var myImage = (function () {var imgnode = document.createElement ('img'); document.body.appendChild (imgnode); return {setSrc: function (src) {imgnode.src = src;}}}) (); // proxy var proxyimage = (function () {var img = new image myImage.setsrc (this.src);Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.