2017-03-22 16 views
1

私は数年前からlaravelで作業してきました。私の伝統的なアプローチは、アプリケーションの下にクラスフォルダを持ち、クラスに自分のデータアクセス関数を置くことでした。コントローラーをきれいに保ち、汚れた作業を行うためにクラスを利用する。リポジトリパターンを使用する場合の従来のクラス

最近、同僚がリポジトリを発見しました。私はそれらを読んでいて、混乱しています。

リポジトリを使用して、私のアプリケーション/クラス/フォルダ、および "従来の"クラスの場所はまだありますか?健康なバランスを取ることは可能ですか?リポジトリデザインパターンについては、すべての理由がありますか?

ベストプラクティスはこれについて何か言いますか?

おかげ

答えて

1

は、設計パターンとアイデアは、ドメインモデルから永続ロジック(データベースおよび/またはキャッシュとインターフェース)を分離することです。

"メモリ内の"オブジェクトに対して行われた変更は、基本的に "従来の"クラスに保持する必要があります。リポジトリはデータベースからデータを取得または変更しますが、データベースの変更を伴わないデータを操作するビジネスロジックを含むものがあれば(データの書式設定や数学演算の実行など)、ドメインクラスでそれを保つ。

ベストプラクティス(特に単一責任原則)は、リポジトリまたはデータマッピングロジックをオブジェクトデータでカプセル化できるビジネスロジックから分離することを推奨します。

+0

これは私がリポジトリについて感じた正確な方法です。 「記憶中」は本当に私にこれを理解させるのに役立ちます。偉大な答えをありがとう。 –

関連する問題