Re[5]: Несколько вопросов по Меппарам.
От: IT Россия linq2db.com
Дата: 03.05.05 19:27
Оценка: 5 (1) +1
Здравствуйте, <Аноним>, Вы писали:

А>Тогда по отдельности, как сделать кошерно и как сделать правильно?


Моё ИМХО — правильно по возможности не порождать внешних по отношению к объекту связи. Например, имеется объект Company. Он инкапсулирует только то, что касается самого объекта: вычисления для которых достаточно данных самого объекта, навигацию по дочерним объектам, базовую валидацию и т.п. Если для выполнения какой-либо операции, типа CalcCreditRisk, требуется вовлечение внешних по отношению к объекту данных или использование других объектов, то такая операция должна выполняться другим объектам. Неважно как он называется, manager, service, controller, whatever. Т.е. в данном конкретном случае мы должны получить что-то типа:

public class Company
{
    ...
}

public class CompanyManager
{
    public Company GetCompanyByID(int id)
    {
    }

    public void AddCompany(Company company)
    {
    }

    public void UpdateCompany(Company company)
    {
    }

    public void DeleteCompany(Company company)
    {
    }

    public CreditRiskResult CalcCreditRisk(Company company, ...)
    {
    }
}

Весь маппинг выполняется в соответствующих методах менеджера, в идеале в специальном слое — DAL.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.