#iOS POSOってなに?似ているValue Object・Entity・DTOと比べてみました
What is POSO ?
Plain Old Swift Object
try! Swift2017、 Mr.Jon Bott によるLTで取り上げられました
下記のSwift版に当たるでしょう
- POCO --
Plain Old CLR Object
の略 - POJO --
Plain Old Java Object
の略
似ているオブジェクトとの違い
他言語を参考に以下のオブジェクトとの違いを比べてみました
- Value Object
- Entity
- DTO
- DAO
Value ObjectとEntity
- Getterのみ
- ロジックを持つ
- 値は不変(immutable)
- DTOと同義とされることが多い
- Entityにはアイデンティティがあり、VOにはない
- コンストラクタのみで生成可能
- 一般的には、レイヤー間の境界線上で持ち越される(DTO)には使われない
DTO
- Getter / Setter
- ロジックを持たない
- VOと同義とされることが多い
- Layer間のオブジェクトの受け渡しなどに使われる
DAO
- デザインパターンの一種
- 永続レイヤーからのオブジェクトアクセスのメカニズムを提供する
まとめ
- Getter / Setter
- ロジックを持たない
- VOと同義とされることが多い
- Layer間のオブジェクトの受け渡しなどに使われる
DAO
- デザインパターンの一種
- 永続レイヤーからのオブジェクトアクセスのメカニズムを提供する
まとめ
参考資料によって、いろいろな見解はあるものの、以下のようにまとまりそうです
Object | Logic | Getter | Setter | Identity |
---|---|---|---|---|
POSO | △ | ○ | △ | △ |
Value Object | ○ | ○ | × | × |
Entity | ○ | ○ | × | ○ |
DTO | × | ○ | ○ | × |
以上です、ありがとうございました
参考資料
参考になりました。
ありがとうございます
Author And Source
この問題について(#iOS POSOってなに?似ているValue Object・Entity・DTOと比べてみました), 我々は、より多くの情報をここで見つけました https://qiita.com/mesummery/items/73c147a6b888211a558f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .