I completely agree with your point.of view. A lot of medium and small projects have not very many business process to be implemented. A lot of emphasises are placed on presentation tier or we say "GUI". Besides this, i think general CRUD also takes us tremendious energy and a lot of time. In my opinion, I haven't seen any elegant, efficient, stable solution that solves these problems. Whether pattern such as MVC, new technology such as Ruby, or some thing else.... As to me, I have take a lot of time on research of these articles. And I consider that there might be two way that could be resolve these problems. 1. Technology. Smart client. Combining with advantages of B/S and C/S enable your application more stable and more efficient.
2. Methodology of design Thinking of container and architecture centric are two important thinking.
Acutally, Ruby on Rails and other script language have not these two charactristics. We could use them in some aspects but not most of the aspects that we might encounter in a project. Technology of code generator is not bad. But do you expect that your projects is full of stuff that are generated by code generator that are not easy to read or not easy to maintenance.
The framework designed with thinking of container is able to provider more high level abstraction and encapsulation.
I prefer to build a mechanism that likes virtual machine. The runtime environment is based on container. Instead of code generator, we can choose various configurations describle runtime environment, define behaviors regarding what runtime environment wants to do. Configuration should be as simple as that has. For example, instead of adding Swing components to a view directly, it's better to define the position information and events of these components in a file and build a GUI container whose responsible is parsing view file and adding them to a view.
The same thing that we can do is buiding a CRUD container. Of course, we have various CRUD container now such as hibernate, JDO and so on. It can not be denied that these containers are very good, very powerful and robust. One thing we just need to do is building a simple adapt of a CRUD container that you want to use in your project in order not to expose more detail of persitence technology.
Back to the topic of code generator, i prefer use code generator when i met some problems that is hard to be handled except by using code generator. For example, a checking logic is a very complicated expression that should be change depending on runtime environment. It might take a lot effort if we don't use code generator. Maybe, Ruby is a good choice for this case.
In a word, the more reusable that you have, the more efficent that you could do.
|
|
相关推荐
研究机构注册(ROR)API ROR API允许检索,搜索和过滤在ROR中建立索引的组织。 结果以JSON返回。 单个组织记录由以下JSON结构表示: { "id":"https://ror.org/013cjyk83", "name":"PSL Research University", "email...
FreeMIS是一个基于Ruby on Rails(RoR)框架构建的管理信息系统(MIS)。RoR是由David Heinemeier Hansson开发的一个开源Web应用程序框架,它遵循“Don't Repeat Yourself”(DRY)原则,强调简洁和生产力。RoR使用...
ASP.NET、C#和J2EE/Java是RoR的主要竞争对手,它们各自有各自的优点和适用场景,了解这些技术可以帮助你比较和选择最适合的开发工具。 在深入研究RoR源代码时,建议先从官方文档和开源项目开始,例如GitHub上的...
#猜猜是谁? 人工智能版。 只是一个简单的 Rails 应用程序... 它分析动物数据库,确定通常出现的特征之间的关系,然后使用该信息以及其他一些基本规则,以尽可能少的问题来猜测用户在想什么动物。 该项目可以在实时
Ruby_full: RoR_Full_29 :: Ruby_reports 涵盖了全面的Ruby on Rails(RoR)开发中的报告生成技术。Ruby是一种面向对象的编程语言,以其简洁、优雅的语法著称,而Ruby on Rails是基于Ruby构建的一个开源Web应用框架...
"doc_ecommerce:ror-ecommerce 的文档" 提示我们这是一个关于 Ruby on Rails(简称RoR)开发的电子商务平台的文档集合。RoR 是一个基于 Ruby 语言的开源 web 应用框架,常用于快速构建功能丰富的 web 应用程序,特别...
在常规设置中查看更多 db/migrate/create_my_admin_*.rb migration / create_my_admin db/migrate/create_my_admin_*.rb 。rb-迁移以创建MyAdmin表。 运行“ rake db:migration”以创建MyAdmin表。 启动您的“ ...
在提供的压缩包文件中,我们可以看到"Ruby语言中文教程",这暗示了资源可能包含了关于Ruby语言的基础知识和进阶内容,对于学习RoR至关重要。Ruby是RoR的基础,理解其语法和特性对于掌握RoR框架极其关键。 **Ruby...
在这个"RubyOnRails做的博客"项目中,我们可以看到作者用RoR实现了一个功能齐全的博客系统。下面将详细探讨RoR框架的核心特性以及在构建博客系统时可能涉及的关键知识点。 1. MVC架构:RoR中的MVC模式使得开发者...
在终端中,转到项目目录的根目录。 运行bundle install 。 运行rake db:create 。 运行rake db:migrate 。 运行rake db:seed 。 运行rails server 。 使用浏览器,转到http://localhost:3000 。
FusionCharts Suite XT 使用 JavaScript 在浏览器中生成图表,使用 SVG 和 VML(适用于较旧的 IE)。 如果您需要将图表导出为图像或 PDF,则需要一个服务器端帮助程序库来将 SVG 转换为图像/PDF。 这些导出处理程序...
在 RailsApp 中加载在 JasperReport 中构建的报告。 先决条件: 导轨 3+ Ruby 1.9+ Java JRE 碧玉报告 3.0.0 iReport 3.0.0(用于设计) 如何使用 1- [JasperReport] 使用 iReport 制作您的设计报告(您可以...
自述文件该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列,缓存服务器,搜索引擎等) 部署说明...
自述文件 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 您可能要讲的内容: Ruby版本 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等) ...
自述文件-更新了 上海 该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等...
在 Rails 中,模型由名为 Active Record 的对象关系映射层处理。 该层允许您将数据库行中的数据呈现为对象,并使用业务逻辑方法修饰这些数据对象。 您可以在阅读有关 Active Record 的更多信息。 控制器和视图由 ...
这个想法是为书虫创建一个社交网络,在其中可以跟踪书籍的阅读,阅读以及书架对书籍的分类。 将来会提供Boting,建议,评论。 我已经使用Heroku部署了这个项目,可以在以下链接上找到它: 这是一项进展中的工作… ...
自述 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 您可能想要涵盖的内容: Ruby版系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列、缓存服务器、搜索引擎等) 部署说明… 如果您不...
自述文件 该自述文件通常会记录启动和运行应用程序所需的所有步骤。 您可能要讲的内容: Ruby版本 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务(作业队列,缓存服务器,搜索引擎等) ...