新手问题 每个项目都有重复的工作,如何抽象打包以便其他项目直接使用?

jokry · 2012年06月10日 · 最后由 jokry 回复于 2012年06月11日 · 2809 次阅读

最近写了一些 demo 程序,包括 blog、forum 等。发现每次项目至少都需要用户系统等,都需要配置 devise、post、comment、tag 等。属于重复性的工作。

向各位请教,如何将这些不同但常用的 gem 打包(包括 migration、M\V\C 等),以便下次类似的项目直接在其基础上开发。

PS:我的目的不是想要集成的 gem,我知道 720p.so 开源了 homeland 的集成 gem。我想要了解的是如何将其集成,原理是什么?

匿名 #1 2012年06月10日

模块化,重用是软件开发追求的一个目标, 但是具体情况也不是那么容易

做成 template,生成的时候直接用,这是一种办法,优点是快速简单,缺点是可能还是要人为配置不少内容。

另一种方法是写成一个 engine,把这些内容包在里头,优点是直接拿来就能用(如果业务逻辑重复一样的话),缺点是写这个的时候会比较花时间(但考虑到反正已经写过几遍了,再花时间是值得的)。

你的需求是需要一个 Template 可以在这个基础上调整你需要的配置 https://gist.github.com/2168014

需要 登录 后方可回复, 如果你还没有账号请 注册新账号