как вы описываете, вы уже используете паттерн, 3-х уровневый паттерн :)
Это означает, что в приложении ваш код должен быть разделен на 3 уровня (как следует из названия):
Уровень представления: где вы пишете код для представления ваших данных (ASPx / winforms / etc)
Уровень приложения: куда вы помещаете всю свою бизнес-логику (что вы делаете с классами менеджера)
Уровень данных: где вы делаете фактический доступ к базе данных.
Следование этой схеме может быть полезно, когда у вас есть что-то вроде клиента с несколькими адресами, клиент хранится в одной таблице, а адреса в другой. На уровне презентации вы просто вызываете метод на уровне приложения для сохранения клиента. На уровне приложения вы будете проверять свои данные и вызывать два уровня на уровне данных: один для сохранения клиента, другой для сохранения адресов.
Теперь, если у вас есть поставщики с несколькими адресами, вы можете использовать один и тот же метод на уровне данных, чтобы сохранить их.
Это будет полезно, если у вас есть сложные объекты. однако, если большинство ваших объектов просто просты, я бы порекомендовал вам подумать, подходит ли вам этот шаблон.
http://en.wikipedia.org/wiki/Multitier_architecture