Так с S#arp Architecture, если у вас есть (скажем) Dog
Объект, который имеет отношения «один ко многим» с Trick
Объект, как сохранить синхронизацию коллекции при добавлении объекты и т.д.?S # arp Архитектура: управление отношениями родитель-ребенок
То есть, если есть коллекция Dog.Tricks
, и вы хотите добавить новый Trick
, что лучше?
В целом подход с NHibernate, по-видимому, заключается в том, чтобы скрыть измененную коллекцию Tricks
(которую NHibernate связывает) и показать неизменяемый IEnumberable. См. Этот вопрос для обсуждения техники: Best practice for Handling NHibernate parent-child collections. Это похоже на хороший опрятный способ убедиться, что есть только один способ добавить трюки - с помощью метода dog.AddTrick()
- и сохранить коллекции в синхронизации.
Но мне кажется, что из-S # агр использует свободный, такой подход не так легко реализовать (если я не пропустил что-то?)
Так будет эквивалентна лучшей практики для S # АРП?
ОК. И для свойства 'trick.Dog' (указывая от ребенка назад к родительскому) является« защищенный внутренний набор »лучшим способом? (так что он устанавливается только во время метода 'dog.AddTrick()') – codeulike
Если честно, это может пойти в любом случае. Я предпочитаю использовать защищенный внутренний, но сделал это в обоих направлениях в зависимости от сценария. – Alec