Re[7]: Использование патернов
От: vitaly_spb Россия  
Дата: 23.07.05 08:59
Оценка: 3 (1)
WWW>И всё ж таки — может что-то своё забабахаем?

На RDSN есть форум посвященный проектированию, можно свои гениальные идеи складывать туда Или пиши статьи!

WWW>Конечно.

WWW>Но ведь задачи часто повторяются.
WWW>IMHO....

Вот именно, задачи повторяются, поэтому надо повторять наиболее удачную их реализацию. В итоге это и будет твоим шаблоном.

WWW>Если не сложно (только если не сложно) — поделитесь решениями.

WWW>Интересно.

Самый простой пример — доступ к БД, здесь используется Factory. Создается класс DAOFactory, причем одиночка (Singleton). У него будут свойства в духе IUserDAO, IEntityDAO, ...

IUserDAO — интерфейс, который могут реализовывать различные классы. Смысл — в том, чтобы в DAOFactory в зависимости от текущих настроек выбрать нужный класс, реализующий этот интерфейс. Например

IUserDAO UserDAO
{
get{
if (_userDAO == null)
_userDAO = new MySQLUserDAO(); //Здесь может быть чтение из .config — файла
return _userDAO();
}
}

Factory наверное самый распространенный шаблон. В нашем случае мы легко можем заменить классы доступа к базе MySQL на MSSQL — то есть, получили расширяемое решение.
...Ei incumbit probatio, qui dicit, non qui negat...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.