Я задаюсь вопросом, может ли кто-либо дать серьезное объяснение (с примером) ПОСТЕПЕННО (Простой Объект CLR). Я нашел краткое объяснение на Википедию, но она действительно не дает серьезное объяснение.
Вместо того, чтобы называть их POCO , я предпочитаю называть их объектами, игнорирующими персистентность .
Поскольку их работа проста, им не нужно заботиться о том, для чего они используются или как они используются.
Лично я считаю, что POCO - это просто еще одно модное слово (например, Web 2.0 - не начинайте с этого) для публичного класса с простыми свойствами.
Я всегда использовал объекты такого типа, чтобы поддерживать бизнес-состояние.
Основные преимущества POCO действительно видны, когда вы начинаете использовать такие вещи, как шаблон репозитория, ORM и внедрение зависимостей.
Другими словами, вы можете создать ORM (скажем, EF), который извлекает данные из где-то (база данных, веб-служба и т. Д.), А затем проецирует эти данные в объекты. (POCO).
Эти объекты могут быть переданы дальше вниз по стеку приложения на уровень сервиса, а затем на веб-уровень.
Тогда, если однажды вы решите переключиться на nHibernate, вам вообще не придется прикасаться к своим POCO, единственное, что нужно будет изменить, - это ORM.
Отсюда и термин «настойчивые игнорирующие» - им все равно, для чего они используются или как они используются.
Подводя итог, плюсы:
Надеюсь, что это поможет.
Пример POCO:
class Person {
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
}
Вам необходимо указать более подробную информацию, например, контекст, в котором вы планируете использовать POCO. Но основная идея состоит в том, что вы будете создавать простые объекты, содержащие только необходимые данные / код. Эти объекты не будут содержать никакого «багажа», такого как аннотации, дополнительные методы, базовые классы и т. Д., Которые в противном случае могли бы потребоваться (например) фреймворком.