我們使用一個(gè)工廠類來(lái)實(shí)現(xiàn)userDao
對(duì)象的創(chuàng)建,這樣客戶端只要知道這一個(gè)工廠類就可以了,不用依賴任何具體的UserDao
實(shí)現(xiàn)。創(chuàng)建userDao
對(duì)象的工廠類UserDaoFactory
代碼如下:
public class UserDaoFactory {
public static UserDao createUserDao(){
return new MemoryUserDao();
}
}
客戶端UserRegister
代碼片斷如下:
UserDao userDao = UserDaoFactory. CreateUserDao();
userDao.save(user);
現(xiàn)在如果再要更換持久化方式,比如使用文本文件持久化用戶信息。就算有再多的客戶代碼調(diào)用了用戶持久化對(duì)象我們都不用擔(dān)心了。因?yàn)榭蛻舳撕陀脩舫志没瘜?duì)象的具體實(shí)現(xiàn)完全解耦。我們唯一要修改的只是一個(gè)UserDaoFactory
類。