El significado de un patrón de estrategia es definir una serie de algoritmos, encapsularlos uno por uno y hacerlos reemplazables.
Un pequeño ejemplo puede aclararnos de un vistazo.
Recordando el método animado en jQuery.
La copia del código es la siguiente:
$ (div) .animate ({"izquierda: 200px"}, 1000, 'lineal'); // moverse uniformemente
$ (div) .animate ({"izquierda: 200px"}, 1000, 'cúbico'); // Tentación de poder cúbico
Estos dos códigos hacen que el Div se mueva 200 píxeles a la derecha dentro de los 1000 m. Lineal (velocidad constante) y cúbica (relajación de potencia de timbes) son paquetes de un modo de estrategia.
Tomemos otro ejemplo. En la primera mitad del año, escribí dev.qplus.com, muchas páginas tendrán un formulario de verificación instantánea. Cada miembro del formulario tendrá algunas reglas de verificación diferentes.
Por ejemplo, en el cuadro de nombre, es necesario verificar las situaciones como palabras no vacías y sensibles y caracteres excesivos. Por supuesto, puede escribir 3 si más para resolver el problema, pero se puede imaginar la escalabilidad y el mantenimiento del código de escritura de esta manera. Si hay más elementos en la forma y más situaciones de verificación, no es imposible escribir cientos de si más en total.
Por lo tanto, un mejor enfoque es encapsular cada regla de verificación por separado utilizando un patrón de política. Cuando necesita verificar qué tipo de verificación, solo necesita proporcionar el nombre de esta política. Como esto:
La copia del código es la siguiente:
nameInput.addvalidata ({
Notnull: verdadero,
Palabras Sucalas: Verdadero,
Maxlength: 30
})
NotNull, MaxLength y otros métodos solo necesitan devolver verdadero o falso de manera uniforme para indicar si han aprobado la verificación.
Copie el código de la siguiente manera: Validatalist = {
nonnull: function (valor) {
Valor de retorno! == ";
},
maxLength: function (value, maxlen) {
return value.length ()> maxlen;
}
}
Como se puede ver, varias reglas de verificación se modifican fácilmente y se reemplazan entre sí. Si un día, el gerente de producto sugiere que el límite para los personajes que son demasiado largos se cambia a 60 caracteres. Eso solo tarda 0.5 segundos en completar el trabajo.