`
sean
  • 浏览: 16316 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

组织controller的一个规则

阅读更多
进些天一直在读一本叫做RailssSpace(http://www.amazon.com/dp/0321480791)的书,其中有一个如何管理controller的规则觉得很有用,规则大致如下:
  1. 使用名词作为controller的名字;动词作为action的名字。例如:UserController中有login, logout, register, edit等actions.
  2. 如果发现自己开始定义带有下划线, 尤其是<verb>_<noun>形式的action,  因该考虑针对noun建立一个新的controller, verb作为新的controller下的action。例如:不应该在UserController中定义了一个叫edit_spec 的action去编辑用户的specification, 而应该定义一个SpecController, 和相应的edit action.
如果你发现你的controller过于臃肿, 不知道哪些action该放到哪些controller中, 不知道是否该建立一个新的controller, 用用这个规则吧!
分享到:
评论

相关推荐

    Laravel开发-basecontroller

    在Laravel框架中,`BaseController`是一种常见的实践,它作为一个基础控制器,为其他自定义控制器提供共享的方法和逻辑。这种做法有助于代码的组织和复用,提高开发效率。下面我们将详细探讨`BaseController`的概念...

    MVC的实现原理ControllerAction

    - **生命周期**:一个Controller实例可以处理多个请求,因此在编写Controller时需要注意避免状态依赖的问题。 ##### 2.2 Action - **定义**:Action是Controller中的方法,它们通常以HTTP动词(如GET、POST等)为...

    ASP.NET Core 引用其他程序集项目里面的 Controller 控制器.rar

    在新创建的类库项目中,创建一个新的Controller类,继承自`Microsoft.AspNetCore.Mvc.ControllerBase`或具体的Controller基类,比如`Microsoft.AspNetCore.Mvc.Controller`。编写需要的动作方法(Action)。 3. ...

    利用Windows Server 2008 创建Domain Controller.

    - 创建新森林:适用于首次在组织内部署Active Directory的情况,将创建一个全新的域森林。 - 新域在现有森林:在已有森林中添加新的子域或树。 **步骤六:指定完全限定域名(FQDN)** - 输入森林根域的完全限定...

    MVC实现View—controller—Model分离

    在"Leave"这个具体场景中,可能是在开发一个请假管理系统。模型可能是处理请假申请的业务逻辑,包括验证、计算假期余额等;视图则可能展示请假申请表单、审批结果等;控制器接收用户的请假申请,处理审批逻辑,并...

    Asp.NET中控件命名规则

    例如,一个按钮可以命名为"btnSave",表示它是保存操作的按钮,而不是简单的"Button1"。 3. **驼峰式命名**:在Asp.NET中,推荐使用驼峰式命名法(PascalCase)来命名控件。例如,"txtFirstName"、"lblErrorMessage...

    我的编码规则

    综上所述,"我的编码规则"这个压缩包提供了一个学习 MVC 框架的实例,包括了模型、视图、控制器的实现,以及数据库交互和业务服务,还有详细的说明文档。对于初学者,这是一个很好的资源,可以从中了解如何按照规范...

    03---Controller-Service-Dao.zip

    在Java Web开发中,"Controller-Service-Dao"是一种常见的分层架构模式,用于组织和管理应用程序的不同组件,以...开发者可以通过分析这些文件,了解并学习如何在实际开发中运用分层架构来构建一个健壮的Java Web应用。

    行动者 Actor Controller 完整版.zip

    5. **输入管理**:游戏中的输入处理是关键部分,Actor Controller会有一个输入管理系统,将键盘、鼠标或游戏手柄的输入转换为角色的动作命令。 6. **状态机**:为了管理角色的各种状态(行走、跑步、跳跃、攻击等)...

    ASP.NET Core中的Controller使用示例

    另一方面,如果你有一个类的名称碰巧包含"Controller",但你不希望它被视为控制器,可以使用NonControllerAttribute来排除。这可以帮助避免框架对无意中匹配的类进行处理。 总结来说,ASP.NET Core中的Controller和...

    springmvc简单构建一个项目(一)

    我们可以创建一个HTML文件,例如“hello.html”,并在Controller中指定视图名称,Spring MVC会自动根据视图解析器的规则找到对应的模板文件。 最后,运行项目,我们可以通过访问http://localhost:8080/hello来测试...

    springmvc的一个简单的框架实例

    - 一个或多个 @Controller 类,处理 HTTP 请求。 - 可能有自定义的配置类,用于设置视图解析器、拦截器等。 - 模型对象(beans),用于封装业务数据。 - JSP 页面或其他视图模板,用于展示结果。 这个简单的实例...

    CodeIgniter自定义控制器MY_Controller用法分析

    `MY_Controller`是CodeIgniter的扩展机制——“核心类”(Core Classes)的一部分,它是`CI_Controller`的一个子类,通常位于`application/core`目录下。通过创建`MY_Controller`,开发者可以定义一系列通用的初始化...

    laravel-controller-repository-traits:Laravel便利的控制器特质,使用prettusl5-repository

    "laravel-controller-repository-traits"是一个专门为Laravel设计的组件,它引入了Repository模式和Traits的概念,旨在提高代码的可复用性和组织性。下面将详细探讨这个主题。 首先,我们来看“Controller”和...

    基于ssm+mysql关联规则的计算机类考研院校推荐系统源码数据库.zip

    通过深入学习和实践这个源码库,不仅可以掌握SSM框架和MySQL数据库的使用,还能了解到关联规则在推荐系统中的应用,以及如何构建一个完整的Web应用程序。对于准备从事Java Web开发或感兴趣于考研推荐系统的读者,这...

    基于Matlab_Simulink的区间二型自组织模糊逻辑控制器工具箱.zip

    总之,这个工具箱为研究者和工程师提供了一个强大的平台,用于设计、仿真和优化区间二型自组织模糊逻辑控制器,帮助他们解决实际问题,实现更高效、更稳定的控制系统。通过深入理解和应用这个工具箱,可以提升对模糊...

    Road vehicles - Controller area network (CAN) -Part 1: Data link

    为了提高通信效率,CAN协议引入了位填充规则,即连续发送相同位数达到5个时,自动插入一个相反的位。这有助于检测并纠正由于长串相同位导致的同步问题。 **三、物理信号层** 物理信号层定义了CAN总线的电气特性,...

    codeIngiter控制器的创建及使用

    以上代码定义了一个名为`Blog`的控制器类,该类继承自`CI_Controller`。在类内部,我们定义了两个方法:`index()` 和 `comments()`。其中,`index()` 方法用于显示“Hello World!”,而 `comments()` 方法则用于显示...

    基于Matlab_Simulink的区间二型自组织模糊逻辑控制器工具箱.pdf

    T2SOFLC工具箱提供了一个直观、简洁的用户图形界面,允许用户通过操作界面轻松构建控制器,从而大幅缩短控制系统的研发周期,并提高控制器设计的效率。 在模糊控制理论中,区间二型模糊逻辑控制器(Interval Type-2...

    一次简单的 ViewModel 实践:高效简单地组织代码.pdf

    为了更好地组织代码,可以创建一个基类ViewModel(BCBaseViewModel),包含一个指向ViewController的弱引用属性,并提供一个工厂方法来初始化ViewModel。通过继承,我们可以为特定需求创建子类,实现特定的业务逻辑...

Global site tag (gtag.js) - Google Analytics