NI-Lab.

nilog:

← 前の日 2022-06-23 次の日 →
← 一年前 一年後 →
Twitter (2022-06-23)
"Typically the data that crosses the boundaries is simple data structures."

"We don’t want the data structures to have any kind of dependency that violates The Dependency Rule."

The Clean Architecture - Clean Coder Blog https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
[t] 2022-06-23 07:31:54
関連するかも情報
Spring Boot だとエンティティをアプリ層に渡しちゃう。図の中心にエンティティある・・・

「境界をまたがるデータは、シンプルなデータ構造だ」「ズルをして、エンティティやデータベースの行を渡すべきではない」

クリーンアーキテクチャ(The Clean Architecture翻訳) https://blog.tai2.net/the_clean_architecture.html
[t] 2022-06-23 07:30:28
"Typically the data that crosses the boundaries is simple data structures."

"We don’t want the data structures to have any kind of dependency that violates The Dependency Rule."

The Clean Architecture - Clean Coder Blog https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
[t] 2022-06-23 07:31:54
"You can use basic structs or simple Data Transfer objects if you like."

The Clean Architecture - Clean Coder Blog https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
[t] 2022-06-23 07:32:41
「エンティティーは、大規模プロジェクトレベルのビジネスルールをカプセル化する。エンティティは、メソッドを持ったオブジェクトかもしれない、あるいは、データ構造と関数の集合かもしれない」

クリーンアーキテクチャ(The Clean Architecture翻訳) | blog tai2 net https://blog.tai2.net/the_clean_architecture.html
[t] 2022-06-23 07:33:18
「典型的には、境界をまたがるデータは、シンプルなデータ構造」「シンプルなデータ転送オブジェクト(Data Transfer object)」「ハッシュマップにしても良いし、オブジェクトとして構築しても良い」

クリーンアーキテクチャ(The Clean Architecture翻訳) | blog tai2 net https://blog.tai2.net/the_clean_architecture.html
[t] 2022-06-23 07:35:34
getter setter ぐらいしかないシンプルなオブジェクトなイメージ。

「ビジネスオブジェクトや Data Access Object との違いは、DTO が自身のデータの格納と取り出し機能(アクセサメソッドとミューテータメソッド)しか持たない点である」

Data Transfer Object - Wikipedia https://ja.wikipedia.org/wiki/Data_Transfer_Object
[t] 2022-06-23 07:38:35
「呼び出しに必要なデータを全て抱えられるようなデータ転送オブジェクト」

データ転送オブジェクト https://bliki-ja.github.io/pofeaa/DataTransferObject/
[t] 2022-06-23 07:47:55
クリーンアーキテクチャにおいてのエンティティー。なるほど。

「エンティティーは、大規模プロジェクトレベルのビジネスルールをカプセル化する」

クリーンアーキテクチャ(The Clean Architecture翻訳) | blog tai2 net https://blog.tai2.net/the_clean_architecture.html
[t] 2022-06-23 07:55:26
DAO (Data Access Object) というのは Spring Boot でいう Entity のことかと思っていたけど Repository という解釈もあるのかな。用語元の原典に当たらないとわからないな・・・
[t] 2022-06-23 08:00:13
J2EEパターン的には DAO は Spring Boot の Repository に当たるものらしい。そうなると Spring Boot の Entity は DTO (Data Transfer Object) になるけど、これではDBのレコードと一対一になるのでDBに依存してしまうのでは。

Core J2EE Patterns - Data Access Object https://www.oracle.com/java/technologies/dataaccessobject.html https://twitter.com/nilab/status/1539747390085017600/photo/1
J2EEパターン的には DAO は Spring Boot の Repository に当たるものらしい。そうなると Spring Boot の Entity は DTO (Data Transfer Object) になるけど、これではDBのレコードと一対一になるのでDBに依存してしまうのでは。  Core J2EE Patterns - Data Access Object
元の画像を見る
[t] 2022-06-23 08:09:19
個人的に好きな構造。

- ビジネスロジック層
- Data Transfer Object
- ビジネスロジック (Spring Boot の Service 的なもの)
- データ層にアクセスする何か (本来はこれがRepository interfaceだと思うのだけどあれはDB実装に依存しすぎなので違和感がある)
[t] 2022-06-23 08:27:49
- データ層
- Row Object と Data Transfer Object を相互変換(1対1とは限らない)する何か
- Row Object (Spring Boot の Entity)
- Data Access Object (Spring Boot の Repository)
[t] 2022-06-23 08:27:58
Spring Boot を使っていると Service が DBの実装に依存している Repository interface に依存して、DTO と Row Object が同じもの (Spring Boot の Entity) になりがち。データベースが Relational DB から Key Value Store に変わったら Service も修正しないといけないなんておかしいじゃない・・・
[t] 2022-06-23 08:29:37
【話題のキーワード】
1. 寺脇康文
2. クレイジージャーニー
3. 薫ちゃん
4. FNS歌謡祭
5. 沖縄慰霊の日
6. 雪肌精
7. 歴代相棒
8. エイベックス松浦会長
https://search.yahoo.co.jp/realtime #buzzbot
[t] 2022-06-23 08:30:57
Active Record パターンは Row Object 自体に insert や update の機能を持たせるものらしい。

"An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data."

P of EAA: Active Record https://www.martinfowler.com/eaaCatalog/activeRecord.html https://twitter.com/nilab/status/1539754348418564096/photo/1
Active Record パターンは Row Object 自体に insert や update の機能を持たせるものらしい。  "An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data."  P of EAA: Active Record
元の画像を見る
[t] 2022-06-23 08:36:58
電子書籍版があるといいのに・・・

「第1版に比べ6個増やした21個のSun推奨パターンを解説した、J2EEの権威ある名著の改訂版です」

J2EEパターン 第2版 | John Crupi, Dan Malks, 近棟 稔, 吉田 悦万, 小森 美智子, トップスタジオ, Deepak Alur |本 | 通販 | Amazon https://www.amazon.co.jp/dp/4822282287?tag=nilabnilog-22&linkCode=osi&th=1&psc=1
[t] 2022-06-23 08:44:48
「(多くの組織によって繰り返し)試みられた解法は、アーキテクチャに新しい層を足すことだ。そのときには、今度は、本当に絶対に、ビジネスロジックが新しいレイヤーに置かれることはないという取り決めをする」

ヘキサゴナルアーキテクチャ(Hexagonal architecture翻訳) https://blog.tai2.net/hexagonal_architexture.html
[t] 2022-06-23 08:51:15
@oto_sounosuke たしかにー。Decentralized autonomous organization (DAO) ですね。3文字省略形は衝突しやすいですね・・・
[t] 2022-06-23 08:52:36
ねむい _(:3 」∠)_
[t] 2022-06-23 10:05:15
【話題のキーワード】
1. 寺脇康文
2. 宝石の国
3. クレイジージャーニー
4. 亀山くん
5. 沖縄慰霊の日
6. 特命係の亀山
7. 最後の相棒
8. 投票します
https://search.yahoo.co.jp/realtime #buzzbot
[t] 2022-06-23 10:30:56
2022年06年23日のnilogをすべて表示する

- NI-Lab.
- Mastodon (@nilab@mastodon-japan.net)
- Twitter (@nilab)
- Timelog (@nilab)
- はてなブックマーク (id:nilab)

Web Services by Yahoo! JAPAN