繁体   English   中英

执行业务功能时收集数据的对象模式

[英]Object pattern to collect the data while executing a business function

我有一个执行业务功能的类,入口点方法调用了多种方法。

public class Tool
{
     public void runTool()
     {
         methodA();
         methodB();
         methodC();
         printToolSummary();
     }
}

这些方法中的每个method*被称为执行特定的子功能,我想将这些方法中每个方法的感兴趣结果/属性收集到一个摘要对象中。 这些method*不是要返回的单个值。

我当时在想一个包含所有感兴趣属性的对象,将该对象传递给每个方法并让该方法设置属性,但是以某种方式使用可变对象听起来并不正确,因为无法防止methodA从不应该更新属性,还是我担心太多?

如果您担心方法不应该接触对象的某些部分,那么您传递给方法的对象应实现多个接口,每个接口仅公开您希望作用方法接触的属性。

所以methodA可以期望一个类型为A的类,而methodB可以期望一个类型为B的类,其中A和B是接口...

否则,您的方法实际上并没有什么错,这很普遍。

如何使用包含每个方法的子类的复杂对象。 例如:

public class ResultA { // some attributes for Method A }

public class ResultB { // some attributes for Method B }

public class ResultC { // some attributes for Method C }


public class Result {

    private ResultA resultA;
    private ResultB resultB;
    private ResultC resultC;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM