什麼是良好設計模式來記錄或記錄系統內部完成的每項操作(業務邏輯)?用於記錄每個操作的良好設計模式
比方說,我想寫一個小日誌或通知用戶每一個操作?例如,在系統中,你可以命令你的房子清潔服務,我想給每個步驟後的用戶反饋:
清潔業務有序>清潔正在做>清洗結束的
我在想Observer模式,但我有點困惑。謝謝。
什麼是良好設計模式來記錄或記錄系統內部完成的每項操作(業務邏輯)?用於記錄每個操作的良好設計模式
比方說,我想寫一個小日誌或通知用戶每一個操作?例如,在系統中,你可以命令你的房子清潔服務,我想給每個步驟後的用戶反饋:
清潔業務有序>清潔正在做>清洗結束的
我在想Observer模式,但我有點困惑。謝謝。
如果你希望記錄每一次/什麼/發生那麼它就是被稱爲一個橫切關注點。通過這個,我的意思是發生在正常操作之外/它發生在任何地方。看看Aspecxt定向編程(AOP) - 日誌記錄是一個經典的AOP問題。欲瞭解更多信息,請致電http://en.wikipedia.org/wiki/Aspect-oriented_programming。
你想要什麼願望是一個跨領域的關注。看看面向方面的編程。您可以編寫在方法調用中執行的代碼,您可以在其中選擇基於語義Java簽名的方法調用。
這將解決您的日誌問題與業務邏輯問題。你應該在AspectJ文檔中找到一些直接的例子。
http://eclipse.org/aspectj/doc/released/progguide/starting-development.html#profiling-and-logging
觀察者模式可以是你設計的一部分,但我不認爲在每個Y之後有X的特殊模式。它取決於你的代碼以及你想如何訪問該日誌(或者還有更多比1例如每個實體?)。例如,你可以設計它有點像控制檯記錄器('OperationLog.add(Something)' - >通知觀察者 - > obsever可以刷新日誌並顯示更新的數據)使用觀察者模式。 – zapl
你需要看看面向方面的編程(AOP) – tom
也許你正在尋找*域名活動*和*活動採購*。 –