学习现代模式和实践的好项目是什么?

时间:2008-09-24 19:48:12

标签: design-patterns project-planning

我正在尝试自学如何使用现代持久模式(OR / M,存储库等)和开发实践(TDD等)。

因为学习的最佳方式(对我来说)是做的,所以我想为自己构建一些演示应用程序。问题是,我不知道要构建什么样的应用程序。我想发表关于我的经历的博客,所以我想为社区建立一些有价值的东西,但同时我想避免其他人积极做的事情(web commerce,{{3已经完成了死亡(博客引擎)。

有没有人对我可以参与的好宠物项目有任何建议,也许可以在博客上介绍我的经历?

5 个答案:

答案 0 :(得分:13)

有无数的社区服务组织,很少或没有网络存在。

选择服务机构 - 任何一个 - 扫盲志愿者,食品茶水间,家居捐赠,匿名酗酒者 - 任何事物。基层社区组织从参与中受益最多;他们经常需要一个更有活力的网络存在,但却买不起。

查看他们当前的网站。建立更好的东西。捐赠给他们。

答案 1 :(得分:3)

我想说一个很好的方法是从您想要学习或构建应用程序的核心框架的示例项目开始。以Spring为例,他们有一个很棒的“宠物商店”Web应用程序,你可以下载它,展示如何以推荐的方式使用框架的许多不同部分。从那里,您可以扩展它:将其检入源代码控制,获取自动构建,添加您自己的单元测试或测试优先添加,交换您自己的ORM层,尝试不同的视图层等。

一旦你拥有了所有工作,你就可以更轻松地分支,甚至可以使用你学到的东西从头开始创建自己的应用程序。

我发现从一个良好的基础开始('好'很重要,因为你想要学习最佳实践而不仅仅是根据随机互联网用户一起攻击的工作)并且构建真的很有帮助,而不是只是从一个空白的项目开始,这可能是压倒性的,特别是如果想要一次学习一堆新东西。

答案 2 :(得分:1)

当然,您可以花费6个月来选择一个开源项目,并逐渐开始接受并了解贡献系统的工作原理。

但最好的方法仍然是按照自己的标准开始自己的项目,这可能是一个很好的方法。你需要尝试,失败,并从错误中吸取教训,使用你想要练习的东西来改进。

像法国作家一样说:

“坐着的天才将永远不会比走路的笨蛋更远”。

答案 3 :(得分:1)

一个网站,人们可以询问面向技术的问题,并从集体专家社区获得有关互联网的回复?

我认为宠物项目最重要的一点是,它必须是你关心并会自己使用的东西。如果你使用它,它对你有帮助,那么其他人会发现相同的。如果你因为有人建议而做某事,那就变得像工作一样。

为了使用TDD,我最终创建了一个命令行参数解析器。我写了很多控制台应用程序,它可以从中受益,感兴趣,对我来说很有趣。那里已经有其他人了,但这对我来说并不是真的。我也打算发表关于它的博客,但是我用于模式和架构的另一个宠物项目是一个“完成死亡”的博客平台......以及关于使用你正在创建的博客平台编写博客平台的博客......好吧,那很难。

最后,我的项目目前都没有给社区带来太大的影响,但我注意到我如何解决问题的回报。找到可以从中受益的东西,并担心以后给别人带来的好处。有点自私。

答案 4 :(得分:1)

这是一个非常好的问题。我觉得这一定是许多开发者的感觉。很多时候,我们受到我们正在开发的应用程序的限制。可能没有机会实施每一件最伟大和最新的事情。

我有类似的感受。我所做的是,我说服我的团队学习新事物并分享有关新技术的知识。我已经开始构建自己的某种项目了。它的实时使用非常少,但我可以使用它。

例如我在DAL使用EntLib,但明天当我设法学习LINQ时,我将用LINQ替换EntLib。可能是LINQ to Entities。然后我使用普通的WCF公开了这些DAL方法。然后我学会了如何使用JSON实现WebHttpBinding并公开我的WCF服务。我现在计划学习MS MVC和jQuery,并在那里做一些ASP.Net/AJAX。

基本上,您应该以小块一次一个地定位问题。如果你有时间和热情,那么这里建议的第一个解决方案似乎是最好的。

祝你好运!!!