我想確定,如果(在我開始之前)在一個新項目上,我可以選擇一些合適的模式,這將隨着項目變得更加複雜而幫助開發。模式:渲染引擎允許編輯器集成?
場景
要具有在屏幕上繪製「簡單的」行的應用程序。理想情況下,我可以將其包含到Silverlight,WPF演示應用程序等中的「渲染引擎」中。我還需要使用渲染引擎執行大量顯示的編輯器應用程序,但它提供了諸如控制點移動有關屏幕&對話框線用於改變線等
目標的顏色
爲了保持渲染引擎specalised和高效。編輯器應該能夠將附加功能(即控制點的顯示)「注入」渲染引擎使用的對象或渲染引擎本身。我不想將任何編輯器特定的代碼編碼到渲染引擎中。
我的想法至今
我想使用將由渲染引擎使用對象的封裝/模板圖案的,在某種程度上允許編輯器應用程序提供類的對象, '控制'控制點的功能(例如移動控制點的事件處理)。
我喜歡這個想法背後的原因是渲染引擎永遠不需要知道它的工作環境。編輯器可以被廣泛地改變,而不必改變渲染引擎(希望)。
但是....
我可能是錯的,如果任何人都可以看到任何缺陷,或有解決這個問題的更好的方法的經驗,我很想聽到他們的聲音!
啊,你看到有很多方面,我知道模式將是有用的,例如撤消與編輯器的功能,添加裝飾模式等'特殊效果'。在某種程度上,我只是在等待某人說'不'噸使用單身'... – Ash 2009-07-30 22:01:53
哦,我不否認模式的用處。它們非常有用。但在遊戲的這個階段,你沒有任何代碼或真正的理解你將如何解決問題。那麼你怎麼可能知道什麼樣的模式會最好地工作?您始終可以重構現有代碼以使用新模式。但是,如果你正在編寫所有新代碼並要求它適合一種模式,那麼在一段時間後可能會很艱難。 – Charlie 2009-07-30 22:12:14