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 — то есть, получили расширяемое решение.