【DDD】ドメイン駆動設計【エリック・エヴァンス】 (247レス)
【DDD】ドメイン駆動設計【エリック・エヴァンス】 http://mevius.5ch.net/test/read.cgi/tech/1508841546/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
148: デフォルトの名無しさん [sage] 2020/02/11(火) 12:30:25.83 ID:rXVtelf6 リポジトリで重要なのはインターフェースと実装を分けること インターフェースはモデル層になるけど、実装はモデル層にはなくデータベース関連の知識は実装に閉じ込める python はインターフェースそのものはないみたいだから抽象基底クラスで代用したらどうか # モデル層はインターフェースのみ定義する # 使用するデータベースを変更するとか、テストするときはモックに差し替えるとかしやすくなる from abc import ABC, abstractmethod class Users(ABC): @abstractmethod def save(self, user: User) -> None: pass # 実装(インフラストラクチャ層)はお好きなデータベースやフレームワークのORMなどで import sqlite3 class sqlite3Users(Users): def __init__(self, conn: sqlite3.Connection): self.conn = conn def save(self, user: User) -> None: # ... http://mevius.5ch.net/test/read.cgi/tech/1508841546/148
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.844s*