对于解耦的困惑
首先谢谢各位看官进来。我对设计模式并不精通,只是很浅显地看过一些书。对于降低对象间的耦合度,我很赞同。但是在实际编程中,对于对象解耦后的连接操作如何高效地完成还很困惑。
例如:三个表,Sales,Product和Transactions。Sales包含SalesID和SalesName字段,Product表中包含ProductID, ProductName, ProductPrice字段,Transaction表中包含TranID, Product表中包含TranactionID, SalesID, ProductID, TransactionDate, Quantity等字段
很容易联想到创建Sales, Product和Transactions三个对象,并将各自的操作封装起来,降低耦合度。但是,往往我们需要通过SQL中类似JOIN的操作将表连接起来,例如:
SELECT * FROM Transaction
INNER JOIN Sales ON Transaction.SalesID = Sales.SalesID
INNER JOIn Product ON Transaction.ProductID = Product.ProductID
WHERE
Transaction.TransactionDate > '...'
AND Sales.SalesName LIKE '%...%'
AND Product.ProductPrice < '...'
那么,如何在程序上下文中,有效地通过Sales,Product和Transaction的对象的实例来获得相应的对象集合呢?
当然,获取所有记录,通过循环来遍历这种做法肯定很容易想到,但绝对不是高效之举,还望各位通道多多指教,谢谢