基于模式的体系结构设计与开发: 第 1 部分:使用设计模式
2010-01-22 00:00:00 来源:WEB开发网核心提示: 在此方案中,业务逻辑从数据访问和持久性逻辑分离出来了,基于模式的体系结构设计与开发: 第 1 部分:使用设计模式(10),此方案具有自己的优点和缺点,优点业务逻辑独立于数据访问和持久性逻辑,并让 Itinerary 工厂在运行时提供正确的 ItineraryDAO 实例,图 8 对此概念进行了说
在此方案中,业务逻辑从数据访问和持久性逻辑分离出来了。此方案具有自己的优点和缺点。
优点
业务逻辑独立于数据访问和持久性逻辑。
添加或更改数据库实现更容易,不会对实际应用程序造成真正的影响。只需要为该新数据库编写新的 DAO 实现即可。
缺点
数据访问和持久性逻辑依赖于数据库类型。应用程序必须知道实现数据库功能的类。还记得前面和适配器一起使用的“工厂”模式吗?这个方法在这里也有用。
使用更多模式进行增强:使用数据访问对象工厂
这非常简单。只要让 ItineraryDAO 在接口上工作,并让 Itinerary 工厂在运行时提供正确的 ItineraryDAO 实例。图 8 对此概念进行了说明。
图 8. 用于标识正确 DAO 的工厂
清单 6 显示了如何使用“工厂”设计模式提供应用程序进行数据库通信所需的灵活性和可扩展性。
清单 6. 与 DAO 模式一起使用的“工厂”设计模式public class Itinerary implements Serializable{
// Attributes containing the details of Itinerary
public void saveItinerary(){
// Get the right DAO from the factory and
// Leave the underlying detail of database communication to the DAO
ItineraryDAO dao = DAOFactory.getDAO("ORACLE");
dao.saveItinerary();
}
}
更多精彩
赞助商链接