Clase reutilizable patrones

Clase reutilizable patrones


estoy diseñando una nueva pieza de software que utiliza ECO Modelador, que voy a poner en práctica el uso de ECO 2.
Como yo se han modelado las clases de negocios que he estado prestando especial atención a la creación de clases en los patrones que voy a ser capaz de volver a utilizar en diferentes aplicaciones.

PATRÓN 1: información de Contacto
En el pasado he dicho, y lo diré de nuevo! La composición es más poderosa que la herencia!
Mi información de contacto patrón es un buen ejemplo de esto. Los diferentes tipos de clase a menudo requieren algún tipo de información de contacto (números de teléfono, direcciones de correo electrónico, etc). Para ahorrar tiempo en la reproducción de las clases de mucha gente va a saltar y crear un 'Contacto' de la clase que tiene esta información diversas. Luego, ellos descienden de otras clases, tales como la [Empresa] y [Persona] de esta clase.
no me gusta este enfoque. La herencia debe ser utilizado cuando usted quiere que su aplicación para el tratamiento de los objetos de una manera común, y no para el beneficio de la reducción de la cantidad de trabajo que tiene que hacer a la hora de diseñar su modelo.
Tomar una [Reserva] como un ejemplo. Puede que desee para grabar diversos datos en relación a una reserva. Obviamente, la reserva tiene una asociación a una Persona, pero lo que si se quería mantener el histórico de la información de contacto? La información de contacto de la persona puede cambiar en el futuro, y, a continuación, la información histórica se pierde. Hacer [Booking] [Contacto] también?
¿Qué sucede si usted desea grabar [Stock] lugares? Tendría que descender [Van], [Sala], [], [VendingMachine] de una clase común? ¿Qué pasa si una Persona puede mantener un inventario así como mantener la información de contacto? La herencia puede ser un verdadero desastre!
información de Contacto del titular
Lugar me gustaría crear un conjunto de clases como se muestra arriba. [ContactInformationHolder] es responsable de mantener la información de contacto.
Cuando quiero una clase específica para tener una colección de [ContactInformation] yo simplemente la creación de una asociación de la clase (por ejemplo, 'Persona') a la [ContactInformationHolder]. Con este enfoque soy capaz de hacer [Persona] un titular de la [Stock] Y también es capaz de albergar numerosas piezas de [ContactInformation].

PATRÓN 2: Información de contacto - País


yo estaba tratando de pensar en forma reutilizable para un modelo [PostalAddress]. Lógicamente, usted debería ser capaz de determinar que [País] [PostalAddress] pertenece, así que mi primer instinto fue modelo de una asociación de [PostalAddress] directamente a [País].
Uno de mis clientes no sólo quieren saber en qué país de una persona que vive, querían categorizarlas por algún tipo de región geográfica así. La adición de un [Región] asociación para el [País] y [PostalAddress] parecía mal para mí. Sería posible especificar el reino unido como el país, y estados UNIDOS estado como de la región, tendría que incluir restricciones para verificar esto. Todo parecía un poco desordenado.
Así que se me ocurrió con esteel País
Ahora, en lugar de estar asociado directamente a un [País], [PostalAddress] es en realidad asociada a una [GeographicLocation]. Esto significa que el [PostalAddress] puede pertenecer directamente a [País] para los clientes que no quieren regiones, o un [GeographicArea] para aquellos que lo hacen.
En el modelo anterior es posible crear un país que tiene muchas regiones, y cada una de esas regiones también pueden tener sub-regiones. Si un cliente quería que se podría clasificar a un nivel tan alto como el País / Estado / Ciudad / Pueblo.
'El Camino' derivados de la asociación de simplemente devuelve una colección de [GeographicLocation], de manera que es posible visualizar toda la zona como una cadena. Así que en lugar de 'Acocks Green' (donde yo vivo), usted puede determinar el área como el 'Reino Unido / Inglaterra / West Midlands / Birmingham / Acocks Green'.
por Lo que fácilmente se puede determinar el [País] para que [GeographicLocation] pertenece he añadido otra derivados de la asociación. En la clase base se deriva como 'País.emptyList'. En el [País] de la clase que se deriva como 'auto', y en el 'GeographicArea' de la clase que se deriva como 'auto.parentArea.país'.

el PATRÓN 3: Dirección:
Finalmente, fui capaz de crear un [Dirección] de la clase a mi satisfacción. Yo no necesito de un ancestro común para mis clases para tener la información de contacto, y a mis clientes pueden referirse directamente a un país, o a cualquier nivel de desagregación geográfica que desea.

Mi [Dirección] clase tiene un atributo PostalCode, uno o más [AddressLine] los objetos, y una asociación a un GeographicLocation.

Dirección

CONCLUSIÓN

  1. Espero que estas pautas será genérico y lo suficientemente flexible como para su uso en cualquier aplicación de software.

& nbsp







Clase reutilizable patrones


Clase reutilizable patrones : Multi-millones de consejos para hacer su vida mas facil.


estoy diseñando una nueva pieza de software que utiliza ECO Modelador, que voy a poner en practica el uso de ECO 2.
Como yo se han modelado las clases de negocios que he estado prestando especial atencion a la creacion de clases en los patrones que voy a ser capaz de volver a utilizar en diferentes aplicaciones.

PATRON 1: informacion de Contacto
En el pasado he dicho, y lo dire de nuevo! La composicion es mas poderosa que la herencia!
Mi informacion de contacto patron es un buen ejemplo de esto. Los diferentes tipos de clase a menudo requieren algun tipo de informacion de contacto (numeros de telefono, direcciones de correo electronico, etc). Para ahorrar tiempo en la reproduccion de las clases de mucha gente va a saltar y crear un 'Contacto' de la clase que tiene esta informacion diversas. Luego, ellos descienden de otras clases, tales como la [Empresa] y [Persona] de esta clase.
no me gusta este enfoque. La herencia debe ser utilizado cuando usted quiere que su aplicacion para el tratamiento de los objetos de una manera comun, y no para el beneficio de la reduccion de la cantidad de trabajo que tiene que hacer a la hora de diseñar su modelo.
Tomar una [Reserva] como un ejemplo. Puede que desee para grabar diversos datos en relacion a una reserva. Obviamente, la reserva tiene una asociacion a una Persona, pero lo que si se queria mantener el historico de la informacion de contacto? La informacion de contacto de la persona puede cambiar en el futuro, y, a continuacion, la informacion historica se pierde. Hacer [Booking] [Contacto] tambien?
¿Que sucede si usted desea grabar [Stock] lugares? Tendria que descender [Van], [Sala], [], [VendingMachine] de una clase comun? ¿Que pasa si una Persona puede mantener un inventario asi como mantener la informacion de contacto? La herencia puede ser un verdadero desastre!
informacion de Contacto del titular
Lugar me gustaria crear un conjunto de clases como se muestra arriba. [ContactInformationHolder] es responsable de mantener la informacion de contacto.
Cuando quiero una clase especifica para tener una coleccion de [ContactInformation] yo simplemente la creacion de una asociacion de la clase (por ejemplo, 'Persona') a la [ContactInformationHolder]. Con este enfoque soy capaz de hacer [Persona] un titular de la [Stock] Y tambien es capaz de albergar numerosas piezas de [ContactInformation].

PATRON 2: Informacion de contacto - Pais


yo estaba tratando de pensar en forma reutilizable para un modelo [PostalAddress]. Logicamente, usted deberia ser capaz de determinar que [Pais] [PostalAddress] pertenece, asi que mi primer instinto fue modelo de una asociacion de [PostalAddress] directamente a [Pais].
Uno de mis clientes no solo quieren saber en que pais de una persona que vive, querian categorizarlas por algun tipo de region geografica asi. La adicion de un [Region] asociacion para el [Pais] y [PostalAddress] parecia mal para mi. Seria posible especificar el reino unido como el pais, y estados UNIDOS estado como de la region, tendria que incluir restricciones para verificar esto. Todo parecia un poco desordenado.
Asi que se me ocurrio con esteel Pais
Ahora, en lugar de estar asociado directamente a un [Pais], [PostalAddress] es en realidad asociada a una [GeographicLocation]. Esto significa que el [PostalAddress] puede pertenecer directamente a [Pais] para los clientes que no quieren regiones, o un [GeographicArea] para aquellos que lo hacen.
En el modelo anterior es posible crear un pais que tiene muchas regiones, y cada una de esas regiones tambien pueden tener sub-regiones. Si un cliente queria que se podria clasificar a un nivel tan alto como el Pais / Estado / Ciudad / Pueblo.
'El Camino' derivados de la asociacion de simplemente devuelve una coleccion de [GeographicLocation], de manera que es posible visualizar toda la zona como una cadena. Asi que en lugar de 'Acocks Green' (donde yo vivo), usted puede determinar el area como el 'Reino Unido / Inglaterra / West Midlands / Birmingham / Acocks Green'.
por Lo que facilmente se puede determinar el [Pais] para que [GeographicLocation] pertenece he añadido otra derivados de la asociacion. En la clase base se deriva como 'Pais.emptyList'. En el [Pais] de la clase que se deriva como 'auto', y en el 'GeographicArea' de la clase que se deriva como 'auto.parentArea.pais'.

el PATRON 3: Direccion:
Finalmente, fui capaz de crear un [Direccion] de la clase a mi satisfaccion. Yo no necesito de un ancestro comun para mis clases para tener la informacion de contacto, y a mis clientes pueden referirse directamente a un pais, o a cualquier nivel de desagregacion geografica que desea.

Mi [Direccion] clase tiene un atributo PostalCode, uno o mas [AddressLine] los objetos, y una asociacion a un GeographicLocation.

Direccion

CONCLUSION

  1. Espero que estas pautas sera generico y lo suficientemente flexible como para su uso en cualquier aplicacion de software.

& nbsp

Clase reutilizable patrones

Clase reutilizable patrones : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación