Package 的命名原則

Posted by Bruce Tsai

一般性原則

  • package 名稱全為小寫
  • 通常以公司或團體做前綴
  • 不同功能以不同的 package 來切割、歸類
  • 通常 package 會包含了以下項目
    • 公司或團體名稱
    • 系統名稱
    • 模組名稱
    • 功能名稱
    • 功能分類項目

公司名稱

假定公司名稱為 Foo,一般而言 package 會以 com.foo 開頭

package com.foo.core.common;

系統名稱

而在公司名稱後,會接著所建置的系統類型

// CRM 核心共用元件類
package com.foo.crm.core.common;
// CRM 系統/網頁系統/訂單功能/MVC 架構下的控制器
package com.foo.crm.web.order.controller;

模組名稱

如在同一個系統下,有多個不同類型模組,可再系統名稱下進行切割

// CRM 系統/網頁系統/入口網站/訂單功能/MVC 架構下的控制器
package com.foo.crm.web.portal.order.controller;
// CRM 系統/網頁系統/行動網站/訂單功能/MVC 架構下的控制器
package com.foo.crm.web.mobile.order.controller;
// CRM 系統/排程作業
package com.foo.crm.task.executable;

功能名稱

功能在分類上較無一定方式,主要原則是將同一類型的類別進行分類,可用類別的性質分類,也可用類別所屬功能分類,但不建議同一個 package 下有過多的類別存在。

// 網頁系統的 MVC 控制器
package com.foo.crm.web.portal.order.controller;
// 網頁系統的商業邏輯功能
package com.foo.crm.web.portal.order.facade;
// 網頁系統的 ViewModel Bean
package com.foo.crm.web.portal.order.bean;

results matching ""

    No results matching ""