В настоящее время я внедряю что-то похожее на внутрибольничную больницу, где врачи могут видеть информацию о своих пациентах.
В настоящее время у меня МНОГО информации о каждом клиенте: его полное имя, дата рождения,группа крови, где он живет, какие у него болезни и т. д.
Моя первая попытка была в форме:
class Client {
private string fullName;
private Date dateOfBirth;
...
public Get/Set FullName()
public Get/Set DateOfBirth()
...
}
, которая в основном объединяет все в одном классе.
Через некоторое время я решил, что, возможно, мне следует объединить похожие концепции в более общую.Например, я могу инкапсулировать userName
и password
в одну и ту же концепцию - например, LoginInfo
.
- При этом я должен предоставить все методы получения / установки наКлиентский класс, который делегирует работу правильным внутренним понятиям, или я должен просто поместить получатели для самих понятий?Первый подход мог бы защитить внешний мир от реализации класса Client, но тогда, возможно, мы бы не выиграли так много, имея все эти внутренние концепции.
- Если бы код вне класса
Client
даже знал разныевиды концепций, которые будут использоваться внутри него? - Любые другие идеи / подходы?
Я до сих пор не знаю много о том, какие методы мне понадобятся на Client
класс.Может быть, если их много, было бы определенно хорошей идеей использовать маленькие внутренние концепции для группировки подобных методов внутри себя, вместо того, чтобы иметь такой свободно связанный большой класс.
Данные Client
будут всенастойчиво использовать стандартную базу данных, если это имеет какое-либо значение.