面向对象设计:限制I/O参数好吗?


Object Oriented Design: Is it good to restrict I/O parameters?

我正在为社交活动流设计一个系统,我的目标是尽可能保持它的独立性和可插拔性。因为它是关于活动流,所以这里是最初的设计。我愿意使用策略模式,因为它会有不同类型的活动流。

public interface IStreams 
{
    public int add();
    public int delete();
    public int edit();
}

现在我要实现它,下面是代码:

public class TypeOneActivityStreams implements IStreams {
    public add()
    {
    }
}

现在我希望我的类的消费者必须遵循I/O参数,因为如果他不这样做,那么显然值将不会插入数据库。现在应该是什么类型的参数和返回类型。它应该是对象还是数组?

感谢

更新:我使用RDBMS在数据库中存储流相关数据,并且该数据库结构将与将使用此Activystreams系统的系统完全隔离。

我不确定这个答案是否有任何用处(因为我不确定我是否正确理解了这个问题),但是您可以使用DTO。一方面,它允许您在IStreams的各种实现中传递不同的参数集,因为您可能有不同的DTO实现(即,具有不同属性集的不同DTO)。另一方面,如果为DTO编写接口,则可以指定输入参数必须为DTO。