Здравствуйте, zelenprog, Вы писали:
F>>Можно сделать коллекцию приватной и работать с ней внутри, либо через специальные открытые методы (а ля tovar.AddAnalog()), а наружу выставлять ее через свойство с типом IReadOnlyCollection.
Z>В "моем" языке программирования нету такого интерфейса. Z>Есть только "голые" списки, массивы. И я могу их "обернуть" в любой свой класс. Z>Что делать в таком случае?
1. Сделать и использовать свои интерфейсы для таких коллекций. В моем-то языке тоже такого интерфейса нет, он есть в стандартной библиотеке моего языка. Можно использовать и собственные библиотеки же.
2. Прописать инструкции для команды как правильно пользоваться и не пользоваться коллекциями в агрегатах и отслеживать это на Code Review. Я серьезно — в конце концов проектирование системы нужно не ради самого проектирования, чтобы оно было идеально прекрасным, а ради того, чтобы сделать и поддерживать конечную систему для пользователей.
3. Не использовать DDD в коде.