簡體   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