Pregunta

No estoy usando Hibernate y eso no es una alternativa válida en absoluto. He desarrollado un marco basado en ADO.NET. Este marco tiene operadores predeterminados para cada entidad de base de datos.

Por ejemplo, capas de acceso de datos tiene operadores predeterminados como el siguiente:

Insert
Update
Delete
Get
GetAll

Para acceder a estos métodos, trabajamos como tha código de ejemplo siguiente:

DataAccess.Order daoOrder;

Entity.Order entityOrder;
DataAccess.Order daoOrder;

entityOrder = new Entity.Order();
entityOrder.ID = 1090;

daoOrder = new DataAccess.Order();
daoOrder.Insert(entityOrder);

Estaba pensando en el uso de métodos estáticos, por lo que el código sería simple como:

Entity.Order entityOrder;

entityOrder = new Entity.Order();
entityOrder.ID = 1090;

DataAccess.Order.Insert(entityOrder);

Supongamos que el sistema cuenta con 30 mesas y 30 entidades. Necesitamos 30 objetos dataAccess ejecutan como objetos de estática. Esta estructura estática nos ahorraría algunos ciclos de procesador y ahorrar algo de memoria como sus costos menor para recolector de basura.

¿Debo utilizar los métodos estáticos para los negocios y dataAccess operadores comunes en estos manera? Se puede hablar de ventajas y desventajas de este enfoque? (Es decir, la memoria, el rendimiento ...)

¿Fue útil?

Solución

El diferencial de rendimiento entre las dos opciones que mencionas anteriormente será prácticamente inexistente. Yo iría por el diseño más limpio y más flexible que puede manejar, teniendo en cuenta el modelo de dominio y otros requisitos de negocio, y luego preocuparse por el ajuste del rendimiento una vez que esté en funcionamiento; no tratar de adivinar cuál de los cuellos de botella antes de que haya construido su sistema.

Ver este mensaje por Greg haya por un análisis de estática frente al rendimiento ejemplo ..

Su conclusión:

  

al llamar a un método de dos mil millones de veces usted podría ahorrarse alrededor de 5 ms por lo que es estática, lo que es un ahorro de aproximadamente nada para cada llamada al método

Otros consejos

Si utiliza métodos estáticos en esta clase, todos los objetos que interactuará con él será muy unido a ella. A medida que la cuestión de hecho, su código no está bien comprobable. Si yo fuera usted yo evitaría el uso de métodos / clases estáticas, así como Singleton. A menos que usted no quiere que pueda experimentar con su aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top