Просто исках да разбера мислите на групите за това как да се справят с подробностите за конфигурацията на обектите.
Това, за което имам предвид конкретно, са настройките на високо ниво, които може да се променят от администратора. нещо, което може да съхранявате в приложението или web.config в крайна сметка, но от гледна точка на DDD трябва да се зададе изрично някъде в обектите.
В името на спора, нека вземем за пример уеб базирана CMS или приложение за блог.
Даден обект на запис в блог има произволен брой настройки на екземпляри като автор, съдържание и т.н.
Но също така може да искате да зададете (например) описание или ключови думи по подразбиране, с които да започват всички записи в сайта, ако не са променени от автора. Разбира се, можете просто да направите тези константи в класа, но тогава собственикът на сайта не може да промени настройките по подразбиране.
Така че мислите ми са следните:
1) използвайте (статични) свойства на ниво клас, за да представите тези настройки и след това ги задайте, когато приложението се стартира, като ги зададете от DB или от web.config.
or
2) използвайте отделен обект за съхраняване на настройките, евентуално речник, или го използвайте директно, или го накарайте да бъде член на класа Entry
Какво ви се струва най-лесно/гъвкаво? Притесненията ми относно първото са, че не ми се струва много свързано (ако в крайна сметка искам да добавя още функции), тъй като промяната на методите на класа на обекта ще ме накара да променя и самото приложение (което се чувства като нарушение на OCP ). Вторият се усеща като по-тежък, особено ако след това трябва да изхвърля или анализирам стойности от речник.