您有什么方法可以找到开发Web应用程序的好方法?
例如,您是从用户界面开始然后开始添加功能吗?在转向下一个资源之前,您是否专注于单个资源并对其周围的所有内容进行编码?或者你是逐层进行的,从模型/数据库层开始并构建?
我一个人工作。
答案 0 :(得分:5)
“用户故事”>原型>设计>编码> iteration1> iteration2> ...>释放
以下是迭代的一个很好的例子:
向下滚动到“ASP.NET MVC Contact Manager示例应用程序”,它看起来像:
答案 1 :(得分:4)
我假设你已经有了一些用户故事和要求。我喜欢创建一个基本的域模型(基本上是一个类图),可能没有包含所有内容的所有字段,但足以大致了解所有内容是如何连接的,继承层次结构以及所有内容。
至于编码,我喜欢从单一资源开始,并获得围绕它构建的一些基本功能。我现在通常不会将它连接到数据库,我使用的是一个非常简单的DAO,它将事物填充到域对象的集合中。
接下来,我添加了一些次要的连接资源,并开始构建它们之间的各种链接。此时,我已经有了一些域对象,但可能没有构建他们需要的所有字段和内容。只有几个重要的字段足以区分对象的实例并将其中的少数几个链接在一起。
此时,我尝试使用字段和行为充实我拥有的域对象,并将所需的位添加到视图中以使这些功能可用。然后,我得到一些真正可用的持久性工作,设置验证,并使视图漂亮。
优化您所拥有的内容,然后迭代以覆盖模型的其余部分。
答案 2 :(得分:4)
如果您想要人们喜欢使用的应用程序,请从用户开始。然后回到与用户故事一起使用的数据库设计。
如果您希望应用程序与我们熟悉的许多应用程序一样,用户只是在那里执行数据库维护,请从数据库开始。您可能会更快完成,但您的用户对结果不满意。
答案 3 :(得分:3)
我倾向于从数据库开始并重新开始工作,因为对我来说实体建模往往会突出问题。
然后我将创建基线Webapp结构(在Java中意味着创建我的项目,添加Spring,配置数据源和安全性等)。
一旦我拥有了所有的管道,我将创建数据访问,控制器和视图,通常创建一个以获得概念证明或仅作为初级开发人员遵循的模型。
Webapps是迭代过程(通常不是),我发现最好尽快创建一个垂直切片。
答案 4 :(得分:3)
如果您知道自己想要什么,可以从各个角度解决问题,但是,良好的设计原则要求您首先使用某种规格来概述您想要的功能。它不仅可以帮助您设置功能里程碑,而且在规划应用程序时这是非常有用的练习。
同样,良好的设计原则要求您首先设计域对象或业务对象。这是您申请中的所有“名词”。假设你想开发一个网站,显示大联盟球员的棒球统计数据。这里的域名对象是名词“玩家”,“统计”,“棒球”,“联盟”等。对于其中的每一个,您都可以创建域模型和相应的数据库表。然后,您开始考虑要添加到每个功能的功能,例如Player.CareerSpan()或Player.GamesPlayer(int year)。
界面设计也可以并行发生,在这里你也应该在纸上或使用一些工具使用模型(Balsamiq模型是我最喜欢的)。
在某些时候,它只是归结为个人管理并避免回溯。如果要撤消过多的代码,就会出现问题。源控制系统也可以帮助您实现这一目标。
答案 5 :(得分:2)
你提到你在工作中一个人。
Koistya的上述答案很好。但是,我发现通过让用户界面处于可显示的状态,我可以让客户更快乐并快速获得他们的买入。
答案 6 :(得分:2)
就个人而言,我总是首先想象一切。然后我创建我的模型的结构,然后我输入逻辑添加新数据(无论是管理控制面板,还是前端的东西)
然后我写了测试
然后我开始展示逻辑,编辑等,以及所需的任何其他功能
答案 7 :(得分:2)
我从模型开始 - >数据访问 - >数据库架构 - > UI
我为每个用户故事做同样的事情(是的,测试驱动开发)
答案 8 :(得分:2)
单独开发时,做任何适合你的事情。这里有一些其他资源供您查看,同时提出适合您的任何内容。请注意,这些其他方法假设一个团队。
我希望这会有所帮助。
答案 9 :(得分:-1)
Web application development从非常好的规范开始,包括用户体验,功能,未来开发需求的各个方面等。只有在编写和批准后,您才能开始进行Web应用程序开发。另外,你会发现自己会回来添加其他功能并一次又一次地打开代码