我想确定,如果(在我开始之前)在一个新项目上,我可以选择一些合适的模式,这将随着项目变得更加复杂而帮助开发。模式:渲染引擎允许编辑器集成?
场景
要具有在屏幕上绘制“简单的”行的应用程序。理想情况下,我可以将其包含到Silverlight,WPF演示应用程序等中的“渲染引擎”中。我还需要使用渲染引擎执行大量显示的编辑器应用程序,但它提供了诸如控制点移动有关屏幕&对话框线用于改变线等
目标的颜色
为了保持渲染引擎specalised和高效。编辑器应该能够将附加功能(即控制点的显示)“注入”渲染引擎使用的对象或渲染引擎本身。我不想将任何编辑器特定的代码编码到渲染引擎中。
我的想法至今
我想使用将由渲染引擎使用对象的封装/模板图案的,在某种程度上允许编辑器应用程序提供类的对象, '控制'控制点的功能(例如移动控制点的事件处理)。
我喜欢这个想法背后的原因是渲染引擎永远不需要知道它的工作环境。编辑器可以被广泛地改变,而不必改变渲染引擎(希望)。
但是....
我可能是错的,如果任何人都可以看到任何缺陷,或有解决这个问题的更好的方法的经验,我很想听到他们的声音!
啊,你看到有很多方面,我知道模式将是有用的,例如撤消与编辑器的功能,添加装饰模式等'特殊效果'。在某种程度上,我只是在等待某人说'不'吨使用单身'... – Ash 2009-07-30 22:01:53
哦,我不否认模式的用处。它们非常有用。但在游戏的这个阶段,你没有任何代码或真正的理解你将如何解决问题。那么你怎么可能知道什么样的模式会最好地工作?您始终可以重构现有代码以使用新模式。但是,如果你正在编写所有新代码并要求它适合一种模式,那么在一段时间后可能会很艰难。 – Charlie 2009-07-30 22:12:14