タグ

abcとqiitaに関するishideoのブックマーク (3)

  • Hexagonal Architecture の実践には zope.interface が便利 - Qiita

    追記: 2017-02-12 実は、自分のプロジェクトでは最近、この方法を利用していません。inject による紐付けが出来ていて、必要なメソッドが定義されていれば(duck typing)、必ずしもドメイン層のモデルとインフラ層の実装が継承関係になくても良い、というゆるい考えです。 http://qiita.com/ledmonster/items/3b108be6f0967bfe1093 また、最近の自分のプロジェクトでは、インフラ層を置く代わりに、port, adapter のモジュールを定義しています。adapter には、ドメイン層または port で定義されたインタフェースの実装を書く感じです。ドメインモデルにある概念はドメイン層に置き、外部シストムとの連携インタフェースは port に置く感じです。 時間のあるときにまた記事を書こうと思います。 概要 ドメイン駆動開発にHex

    Hexagonal Architecture の実践には zope.interface が便利 - Qiita
  • PythonでのDependency Injection 依存性の注入 - Qiita

    想定環境 Python 3.6.5 依存とは プログラミングの文脈で語られる依存とは、大抵の場合、特定のクラスの内部で使用される値が、外部の何か(変数、定数、クラスのインスタンスなど)に依存している状態を指します。 オブジェクト指向の説明でよく使われがちな車の説明で書くと、 # conding: utf-8 class tire(): def rotate(self, angle: int) -> int: return angle class handle(): def rotate(self, angle: int) -> int: return angle class car(): t = tire() h = handle() def drive(self, angle: int) -> int: return self.t.rotate(self.h.rotate(angle))

    PythonでのDependency Injection 依存性の注入 - Qiita
  • Python で DDD するなら Inject がオススメ - Qiita

    概要 やや古い記事だけど、InfoQ のドメイン駆動設計・開発の実践には次のように書かれています。 ドメイン・クラスがData Access Object(DAO:データ・アクセス・オブジェクト)クラスに依存し、サービス・クラスがドメイン・クラスに依存するという設計上の依存関係がDDDによる実装に際してDIを"なくてはならない"ものにしています。 Python の場合、DI(依存性の注入)の実現には Inject が便利です。 利用例 ざっと100行程度でサンプルを書くと、このような形になります。 # -*- coding: utf-8 -*- import uuid from abc import ABCMeta, abstractmethod import inject def config(binder): binder.bind(UserRepository, UserMemory

    Python で DDD するなら Inject がオススメ - Qiita
  • 1