[英]Is it appropriate to use the Observer Pattern?
支持我有一個Java Bean類,它嚴格保存實例字段:
class College
{
building = "Burruss";
dean = "Mr. Bergess";
schools[] String = {"College of Engineering", "Business School"};
valedictorian = "Mr. Smart Guy";
...
...
...
}
假設對於College實例中的每個更改,都會發送一條消息:
class messageSender
{
... if (College values have changed)
Send that instance's fields in byte[] form
}
假設我有一個Swing GUI(Java),它也檢查College中的更改
class myGUI
{
... if (College values have changed)
Alert each individual JTextField the updated field
}
觀察者模式在這里有用嗎? 如果大學有1000個變量,那么每次實例字段值更改時,我都必須包括一個“ notifyObservers()”方法!
例如,對於這1000個變量,我有1000個setter方法。 然后,每個setter方法都必須有一個notifyObservers()調用。
這是對的還是有更好的方法?
如果您的班級有1000個字段,那么您可能會遇到其他更相關的設計問題。
您的每種字段更改方法(設置程序)都調用notifyObservers()
並不異常。 您可能想要嘗試封裝盡可能多的狀態和邏輯; 信息隱藏只是很好的設計。
我認為Observer在這里可以,但是Listener更好,因為1.您可以創建幾種類型的偵聽器2.當事件發生時,將其傳遞給偵聽器的處理程序方法,以便可以知道真正發生了什么。 例如,它可能包含Mark的注釋中提到的1000個字段之一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.