显然,没有一种解决方案可以满足每个人的需求;建筑始终是一种权衡。我想创建一个最初针对网络游戏RAD的框架。目标语言是PHP,虽然该架构应该广泛适用。
我对此框架的目标是:灵活地实现结果;开发人员的最大舒适度;连接模块,如LEGO®块;许多类型的输入,多种类型的输出,一种用于处理的格式。
不优先考虑的目标是速度,企业使用和赚钱。它应该是一个开源项目。
这种设计的基石是,在转换之前,所有内容都是用XML处理的(基于我使用过的EAI系统的想法,eGate)。数据抽象层 - 希望是一些智能ORM - 现在并不重要。输出将使用XSLT或任何其他自定义模块生成,几乎适用于任何客户端 - 旧浏览器的HTML,现代浏览器的XHTML / HTML5,移动客户端的简单HTML,AJAX / XMLRPC的XML等。
使用XML的主要原因是:
页面生成过程包括以下阶段:
将使用大量元数据(例如标签,权限,重要性,必要性,目标输出类型)生成内容,这些元数据将在后处理过程中被删除。
所以,我的问题是:除速度外,这个解决方案的缺点是什么?在框架的开发/维护及其应用程序中哪里可能出错?这种架构的缺点是什么?
答案 0 :(得分:3)
XSLT管理起来可能很庞大,并且本质上增加了开发人员必须使用的额外编程语言(至少如果我正确理解您的描述)。我的经验是相对较少的人知道它,甚至更少的人可以做到他们想要的。
答案 1 :(得分:2)
我不确定向你提出什么样的“灵活框架”。这一切都取决于你的舒适度和个人品味。
我知道的一件事是,它首先看起来有多吸引人,就是远离XSLT。使用XSLT做Hello World类型的东西和简单的例子非常简单。但是,使用XSLT,更复杂的项目变得完全无法管理(更不用说难以理解)了。我的经验是它给项目带来了巨大的压力。
答案 2 :(得分:1)
我认为你正在寻找一个非常复杂的解决方案。简单地设计和构建您将使用的Schema是一项重大工作。如果您的项目总共涉及5-6人,那么您可能需要进行有组织的架构设计工作。我认为这是你所知道的一点。
我质疑并可能会在前端选择PHP。我还认为你错误地在很大程度上决定了XML。
以下是我的工作:
我绝对希望纯Java的速度能够完成我的所有XML翻译/处理。如果您有大型文档,那么处理这些文档需要相当长的时间。
你比任何人都更了解你的环境的力量,但我会提醒你做最先行的最简单的事情而不是过度建筑。
答案 3 :(得分:1)
您所描述的内容可能会使用tox来实施。它使用混合MVC-ARS架构。我看到的障碍是成本点tox,因为它依赖于Oracle。当然,既然它是开源的,你可以convert it to Postgresql。
答案 4 :(得分:-2)
我过去曾参与过一些网络游戏,老实说,他们都没有需要任何复杂而笨拙的东西。