Me han encargado que vuelva a escribir una aplicación web bastante grande para una empresa. Esta aplicación proporciona cierto análisis financiero/de riesgo a 3 clientes que tenemos actualmente.¿Cómo se diseña una aplicación web que se debe personalizar para cada nuevo cliente?
El gran problema de esta aplicación es que cada cliente es diferente y tiene datos ligeramente diferentes. Todos ellos inician sesión en el mismo sitio web pero luego su experiencia puede diferir ligeramente. Sus esquemas de base de datos no son los mismos, ocasionalmente sus puntos de vista tienen que diferir para representar datos diferentes y su administración de usuarios es una pesadilla de complejidad. Cuando un usuario inicia sesión en nuestro sitio, necesitamos extraer datos de la base de datos correcta (cada cliente tiene los suyos propios).
dicen nuestros clientes son 3 empresas de hardware:
- HackmansHardware
- LowesHardware
- FranksHardware
hardware de Hackman podría tener ligeramente diferentes necesidades de análisis o solicitud Certains columnas especiales en nuestros informes. Del mismo modo, Lowes Hardware podría querer tener un acceso de seguridad ligeramente diferente a sus páginas y luego una empresa diferente en función de sus usuarios.
Funcionalmente, la aplicación web es la misma para ellos. Tiene las mismas pestañas y los mismos objetivos con respecto a la información que intenta presentar. Pero hay sutiles diferencias entre ellos que tengo problemas para encapsular y está haciendo que el código sea un desastre.
Pregunta: ¿Cuál es la mejor práctica para manejar una aplicación base que necesita modificaciones para cada cliente nuevo que obtenemos? ¿Qué patrón de arquitectura/diseño podemos usar para hacer que la adición de nuevos clientes sea relativamente sencilla a pesar de su necesidad de personalización y al mismo tiempo volver a utilizarla tanto como sea posible? ¿Cómo podemos mantener nuestra base de código limpia sin la necesidad de hacks por cliente?
Estamos utilizando ASP.NET MVC para esta reescritura, pero no estoy seguro de cuán relevante es la pregunta.
Preguntas: ¿cómo se configuró la aplicación heredada, "funcionó" y se agregarán otras compañías de hardware desconocidas a su aplicación? – ScottE
Lo siento, rayar esa última pregunta, no leí la última parte lo suficientemente cerca ... – ScottE