Data Access Object  Design Pattern