none
Como personalizar una Web App ?? RRS feed

  • Pregunta

  • Tengo una aplicación Web implementada con Web Forms (ASPs y code behind C#).

    Necesito usar esta aplicación para distintas compañías (la misma aplicación para todas las compañías). La mayor parte de las funcionalidades son comunes a todas las compañías, sin embargo frecuentemente las campañas solicitan  personalizaciones. Las personalizaciones pueden ser agregar o remover determinados controles en una página o implementar algún comportamiento (no es solamente el look and feel de la página).

    Lo que estoy haciendo ahora para implementar las personalizaciones es agregando sentencias IF en el code behind de las páginas (cada usuario tiene asociado una compañia).
    Ej. IF (CompanyID = 100)
           Ejecuto personalizacion para Comañia 100

    Como el número de compañias y personalizaciones va en aumento, el código se ha transformado en algo muy complejo de mantener.

    Existe alguna otra manera de manejar este tipo de personalizacion ??
    Muchas gracias

    jueves, 14 de marzo de 2013 21:56

Respuestas

  • no aconsejo que definas logica en el codigo para cada compañia

    si la idea es vernder personalizacion manten copias separadas para cada una, crea una copia de la solucion y define cambios  en el codigo de forma especifica para el codigo de cada compañia

    si detectas una funcionalidad comun lo agtregas en uan identificando las modificaciones y cuando funciona replicas la logica en otro codigo

    poner logica en cada caso segun la empresa como bien lo mencionas hace el codigo inmantenible, quizas al separar el codigo requiera algo de esfuerzo de replica de modificaciones comunes

    si usas un control de codigo fuente como ser Team Foundation o SubVersion podrias tener una codigo base y abrir Branch por cada compañia de esta forma con el cotnrol de codigo pasar bloques de modificaciones comunes de un branch a otro es mucho mas simple ya que el propio soft de control de codigo implementa funcionalidad de merge

    quizas usar un control de codigo y separar por cada compania en branch sea la mejor opcion

    los cambio particulares para la compañia los dejas en el branch sin pasarlos a los demas, solo los comunes lo sincronizarias con el resto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    jueves, 14 de marzo de 2013 22:06