Я не использую hibernate, и это вообще не допустимая альтернатива. Я разработал фреймворк на основе ADO.NET. Эта структура имеет операторы по умолчанию для каждого объекта базы данных.
Например, слои доступа к данным имеют следующие операторы по умолчанию:
Insert
Update
Delete
Get
GetAll
Чтобы получить доступ к этим методам, мы используем следующий пример кода:
DataAccess.Order daoOrder;
Entity.Order entityOrder;
DataAccess.Order daoOrder;
entityOrder = new Entity.Order();
entityOrder.ID = 1090;
daoOrder = new DataAccess.Order();
daoOrder.Insert(entityOrder);
Я думал об использовании статических методов, поэтому код был бы прост:
Entity.Order entityOrder;
entityOrder = new Entity.Order();
entityOrder.ID = 1090;
DataAccess.Order.Insert(entityOrder);
Предположим, что в системе 30 таблиц и 30 объектов. Нам нужно 30 объектов DataAccess, работающих как статические объекты.
Эта статическая структура сэкономила бы нам несколько процессорных циклов и сэкономила бы часть памяти, поскольку ее затраты на сборщик мусора стали меньше.
Должен ли я использовать статические методы для таких общих операторов Business и DataAccess?
Можете ли вы рассказать о преимуществах и недостатках этого подхода? (Я имею в виду память, производительность ...)