簡體   English   中英

PHP DDD如何命名入口點方法?

[英]PHP DDD how to name entry point method?

在遵循DDD設計原則時,php中最好的做法是在服務中命名入口點方法。

與班級相同:

class GetSinglePerson {
     ...

     public function getSinglePerson($personId)
     {
     }
}

命令模式:

class GetSinglePerson {
     ...

     public function execute($personId)
     {
     }
}

適配器模式:

class GetSinglePerson {
     ...

     public function handle($personId)
     {
     }
}

一些評論不適合評論;)

  • DDD 不是架構

  • 在包含DDD的OO中,使用動詞( GetSinglePerson )而不是名詞命名類是不常見的。

  • Execute是命令術語 - GetX通常不是命令而是查詢 - 請參閱CQRS

  • 單方法服務並不常見,更不用說以它們公開的唯一操作命名的服務。 通常,您可以將操作組合為具有更高級別名稱(如PersonService

這完全取決於你。 我會閱讀PSR-1基本編碼標准,它有我希望大家都遵循的指導方針。 :)

只要你保持一致,那就重要了。

本段特別適用於我,並適用於這個問題/情況。

4.2。 屬性

本指南有意避免任何有關使用$ StudlyCaps,$ camelCase或$ under_score屬性名稱的建議。

無論使用何種命名約定,都應該在合理的范圍內一致地應用。 該范圍可以是供應商級別,包級別,類級別或方法級別。

4.3。 方法

方法名必須在camelCase()中聲明。

我會使用索引。 如果您正在使用laravel或codeigniter之類的東西,它應該像/ GetSinglePerson / {personId}那樣進行路由

class GetSinglePerson {
     ...

     public function index($personId)
     {
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM