【发布时间】:2012-01-25 14:28:51
【问题描述】:
我有一组对象,它们将从数据源一中读取并写入数据源二。
创建 IAddableToDataSourceTwo 接口之类的东西很诱人:
public interface IAddableToDataSourceTwo
function addToDataSourceTwo(connection As DataSource2Connection) as Boolean
public class customer implements IAddableToDataSourceTwo
public function addToDataSourceTwo(connection as DataSourceConnection) as Boolean
insertSQL = "insert into customers values....."
return connection.nonQuery(insertSQL)
但是,这似乎是一个滑坡。对象是否应该知道如何将自己添加到数据源?
另一种选择是做这样的事情......
public class DataSource2Writer()
public function writeCustomer(connection, customer as Customer)
insertSQL = "insert customer into customers values....."
return connection.nonQuery(insertSQL)
public function writeInvoice(connection, invoice as Invoice)
insertSQL = "insert into Invoices values....."
return connection.nonQuery(insertSQL)
这似乎少了很多 OO,但更安全地将客户对象与数据源解耦。
建议?
【问题讨论】:
-
这是一个很好的问题,但似乎更多的是活跃记录和贫血域之间的讨论......
标签: oop