我目前遇到了一个我自己无法解决的问题:
我开始编写一个“小”框架(browsergame-framework),它以某种方式遵循MVC模式.
现在我有我的索引,引导程序,数据库适配器,调度程序,包装器,但我真的不知道“如何”链接它们.
我编写了他们的方法等,但我不知道如何设计它们像引擎一样工作.
接下来的问题是我的控制器,我不知道如何“链接”它们,以便他们可以轻松访问整个框架….
是的,这很令人困惑,这就是为什么我需要你的帮助,一个“框架程序流程如何”的通用方案应该是非常好的.
谢谢.
解决方法:
你把车放在马前.框架不是写的,它们是成长的.从四个帮派之一拉尔夫约翰逊看到Evolving Frameworks.
编辑
I do not understand, what the author means with “application”, does this
mean raw-coded-project or does this mean project with basic functionality
which will be taken to the later framework.
要么,取决于您在编程和问题领域的专业知识.
这是重要的目标(一个有用的框架),这个过程应该只是支持你
尽可能地实现它.您可能要么开始慢,要在同一个问题域中开发三个应用程序,而不需要在它们之间共享代码,
只需查看代码库并查看它们的共同点,并可能重构这三个已完成的应用程序以汇总代码,并提取常见的部分.
在第二次和第三次申请的开发过程中,这不会给你任何提升,
但它也不会阻碍它们的发展,同时重构以前的那些.
假设你想要一个框架来轻松编写基于浏览器的回合制
策略.
你的第一个转折就是编写这样一款游戏而不想重复使用
这个单一游戏之外的代码,但注意内部的代码重用
它:无情地重构,应用所有编程原则:OCP,
SRP,DRY等特别是干.代码重用(不要重复自己)是一个
编程的基本原理,以及路径的第一步
框架.最终会得到一个类和/或函数库
在整个游戏中使用.
你的第二个转折是写,坚持上述原则,
另一种基于浏览器的回合制策略,使用第一种代码
游戏.你会发现它的大部分都是第一款游戏特有的.使用
适合第二个的部分没有修改,重构那些
虽然有用但不太合适,所以它们很有用并且很合适
在两场比赛中.
在第三场比赛中重复此过程.
三是最小的数字,给你任何希望到达代码
这在问题领域是真正可重用的(想想三角测量),
不是保证它会发生. OTOH,得出一个有用的框架
没有现实世界的应用程序的支持是一个结束的可靠方法
一堆无用的废话.
约翰逊:
Developing reusable frameworks cannot occur by simply setting down and
thinking about the problem domain. No one has the insight to come up
with the proper abstractions.
仔细阅读“三个例子”部分.