Je n'utilise pas hibernate et ce n'est pas une alternative valable du tout. J'ai développé un framework basé sur ADO.NET. Ce framework a des opérateurs par défaut pour chaque entité de base de données.Dois-je utiliser des méthodes statiques pour les opérateurs communs DataAccess?
Par exemple, les couches d'accès aux données a des opérateurs par défaut comme suit:
Insert
Update
Delete
Get
GetAll
Pour accéder à ces méthodes, nous travaillons comme tha exemple de code ci-dessous:
DataAccess.Order daoOrder;
Entity.Order entityOrder;
DataAccess.Order daoOrder;
entityOrder = new Entity.Order();
entityOrder.ID = 1090;
daoOrder = new DataAccess.Order();
daoOrder.Insert(entityOrder);
Je pensais à une utilisation statique méthodes, de sorte que le code serait simple comme:
Entity.Order entityOrder;
entityOrder = new Entity.Order();
entityOrder.ID = 1090;
DataAccess.Order.Insert(entityOrder);
Supposons que le système a 30 tables et 30 entités. Nous avons besoin de 30 objets DataAccess fonctionnant comme des objets statiques. Cette structure statique nous permettrait d'économiser quelques cycles de processeur et d'économiser de la mémoire car ses coûts sont moindres pour le garbage collector. Dois-je utiliser des méthodes statiques pour les opérateurs communs Business et DataAccess de cette manière? Pouvez-vous parler des avantages et des inconvénients de cette approche? (Je veux dire, la mémoire, la performance ...)
Greg Beech a fait quelques tests mais je suis toujours confus car GC ne fonctionne pas très bien sur .net 2.0. Comme vous instanciez des objets, parfois GC ne les dispose pas très bien. C'est pourquoi le processus de w3wp.exe augmente son workset comme le feu en enfer! –
Eh bien, la performance est négligeable dans les deux cas, aussi longtemps que votre conception est saine, l'utilisation de méthodes statiques devrait être bien - c'est moins de lignes de code;) – flesh
@flesh Lien est cassé., –