Должен ли я продолжить с моей собственной ORM? - PullRequest
2 голосов
/ 06 апреля 2011

это мой первый вопрос о переполнении стека, поэтому заранее благодарю за помощь! :)

В последние два года я разработал самодельный .NET ORM, который я использую в некоторых небольших и средних проектах. Его основные характеристики:

  • отображение из базы данных на объекты с использованием атрибутов
  • богатый объектный синтаксис для записи SQL-запросов в разные РСУБД с использованием провайдеров
  • подключений и транзакций к различным РСУБД с использованием провайдеров
  • отложенная загрузка, связанные объекты, автоматическая проверка
  • автоматическое кэширование результатов предыдущих запросов
  • автоматическая генерация схемы базы данных с использованием структуры сущностей
  • автоматическая локализация сущностей на основе культуры потоков

Теперь я нахожусь на распутье: мне нужно решить, стоит ли идти дальше с моим решением и реализовывать другие функции, такие как управление параллелизмом, или объявить его мертвым, и начать с существующего решения, такого как nHibernate.

Я из тех парней, которые любят когда-либо кататься, изобретать велосипед и так далее ...:)

Я что-то упустил? Это момент, чтобы начать ходить по более безопасному пути?

Большое спасибо и извините за мой базовый английский.

Alessandro

1 Ответ

5 голосов
/ 06 апреля 2011

Я из тех парней, которые любят когда-нибудь кататься на велосипеде и так далее ...:)

Другое название для этого - разработчик программного обеспечения . Время от времени нам всем нравится создавать собственные решения проблем, которые были решены. Доступ к данным является одной из тех областей, где люди продолжают создавать свои собственные решения по разным причинам (некоторые более законные, чем другие).

Суть дела в том, что, как только вы дойдете до того, что вам нужны такие вещи, как управление параллелизмом и другие расширенные функции, вы должны серьезно подумать о принятии одного из более зрелых ORM, будь то NHibernate, ADO.NET Entity Framework или другое решение. Это вдвойне верно, если это ваша работа, а не просто хобби; тратить время на то, чтобы заново изобрести то, что установлено и стабильно, тратить деньги вашего работодателя.

Независимо от того, насколько хорош тот, который у вас есть сейчас, поддерживать его самостоятельно - это не практическое или мудрое дело. У вас есть два реальных варианта:

  1. Если ваш ORM просто потрясающий, то откройте его для сообщества и посмотрите, каков будет ответ. Если вам помогают другие единомышленники, это может стать практичным. Кто знает; может быть следующим NHibernate. Просто имейте в виду, что ваш работодатель (если это ваша работа), скорее всего, не заинтересован в помощи сообществу и больше заинтересован в создании программного обеспечения, которое работает. Также поймите, что если ваш ORM был разработан в рабочее время, то у вас может не быть права открывать его для сообщества
  2. Просто переключитесь на основной ORM.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...