espier
  • 介绍
  • 技术说明
  • 系统部署
    • 准备工作
      • 域名
      • 七牛
      • 微信开放平台第三方平台申请
      • 域名备案
      • 服务器方案
      • 腾讯位置服务
      • 小程序
      • EcshopX初始化
    • 部署方案
      • 单机部署方案
      • 集群部署方案
  • 框架
    • 文档说明
    • 入门指南
      • 开发环境搭建
        • docker环境
        • 本地环境
      • composer
      • 目录结构
    • 架构思想
      • 中大型项目架构
      • Repository
      • Service
    • Bundle
      • 请求
        • 路由
        • 控制器
      • 数据库
        • 快速入门
        • Repository
        • CRUD Repository
      • 事件系统
      • 消息队列
    • 规范
      • 说明
      • 关于「能愿动词」的使用
      • 代码规范
        • 基本代码规范
        • 编码风格规范
      • Bundle 规范
        • 命名规范
    • 调试
    • 环境变量及配置
  • 快速入门
  • 运维
    • 压力测试报告
      • 5机集群
  • API文档
  • 数据辞典
  • 数据库migration规则
Powered by GitBook
On this page
  • 命名规范
  • Entity 类
  • 控制器

Was this helpful?

  1. 框架
  2. 规范
  3. Bundle 规范

命名规范

命名规范

  • Bundle 名 必须 为 业务名称+Bundle 整体命名遵循大驼峰规范。

  • Repository 类 必须 为 业务名称+Repository

  • Service 类 必须 为 业务名称+Service

  • Event 类 必须 为 业务名称+Event

Entity 类

所有实体类 必须 放置在 {Name}Bundle/Entities 目录下。

实体类的所有属性 必须 为 private, 绝不 使用 public

实体类的所有属性 必须 有对应的 getter 方法,除主键字段外,其他属性 必须 设置 setter 方法。

控制器

控制器方法 应该 只包含以下三个职责:

  • 验证输入参数有效性

  • 组织数据,调用 Service

  • 对调用 Service 返回的数据根据需求调整数据格式返回

控制器方法代码行数 应该 不超过 80 行,超过 80 行很可能需要将处理逻辑写到 Service 中。

控制器的方法 应该 只调用 Service ,不能调用 Repository 。

一旦控制器的方法中调用了 Repository 。 后续参与的开发人员就会延续之前的思路继续在控制器中写代码,破窗效应 一旦形成,后续的代码质量将无法控制。

PreviousBundle 规范Next调试

Last updated 5 years ago

Was this helpful?