タグ

dddに関するigrepのブックマーク (24)

  • Value Objectについて整理しよう - Software Transactional Memo


    Value Object?Patterns of Enterprise Application Architecture(PofEAA)Domain Driven Design: Tackling Complexity in the Heart of Software(DDD)PofEAA When programming, I often find it's useful to represent things as a compound. compound()便 2()便 Objects that a
    Value Objectについて整理しよう - Software Transactional Memo
  • Repositoryパターンのアンチパターン - Qiita

    よく見かけるRepositoryパターンのアンチパターンの紹介と対策です。 Repositoryパターンとは Repositoryパターンとは永続化を隠蔽するためのデザインパターンで、DAO(DataAccessObject)パターンに似ていますが、より高い抽象度でエンティティの操作から永続化ストレージを完全に隠蔽します。 例えばDBコネクションやストレージのパス等はReposiotoryのインターフェースからは隠蔽され、Repositoryのユーザは永続化ストレージが何であるか(例えばMySQLやRedis等)を意識することなく保存や検索の操作を行うことができるようになります。 これによりRepositoryを利用するロジックは業務的な操作に集中できるようになる他、データベースの移行等の永続化層の変更が発生した際にロジックへの影響を切り離すことができるようになります。 // 例) ユーザ

    Repositoryパターンのアンチパターン - Qiita
  • CQRS実践入門 [ドメイン駆動設計] - little hands' lab


    CQRSCQRS DDD  CQRS   QueryServiceUseCase        DDD DDD使Repository使 EntityValueObjectRepository使 
    CQRS実践入門 [ドメイン駆動設計] - little hands' lab
    igrep
    igrep 2019/12/02
  • 関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita


     退      EC   ()
    関心の分離を意識した名前設計で巨大クラスを爆殺する - Qiita
    igrep
    igrep 2019/10/31
    "利用規約には、製品の取り扱いやルールに関して極めて厳密な言い回しで書かれており、特化した名前の参考になります。" なるほど。うまく設計すれば逆の現象も起こせるかも
  • 10年モノのサービスをアーキテクチャから再設計─はてなブックマークがScalaとDDDを使う理由|ハイクラス転職・求人情報サイト AMBI(アンビ)

    10年モノのサービスをアーキテクチャから再設計─はてなブックマークがScalaとDDDを使う理由 10年以上運用されているサービスには、さまざまな技術的な負債が発生しています。今後の継続的な改善のため、いったん新規開発を止めて4年かけて全面的なリニューアルを実施した「はてなブックマーク」の開発者に、プロジェクトの課題や解決する手法などを聞きました。 改善1つに数カ月かかるなら全てを書き換えられないか 2000年代にトレンドだった開発手法の負債 過去の開発意図を探る考古学的手法 データセンター移行も見据えて刷新しよう ドメインモデル設計とScalaとマイクロサービス化 コアロジックにはScalaを採用 きちんとしたドメインモデルによる設計と実装を継続したい 段階的なリリースとデータの移行という2つの大きな課題 求められる機能に沿ったデータベーススキーマに再構築 新旧の2システムを維持しながら

    10年モノのサービスをアーキテクチャから再設計─はてなブックマークがScalaとDDDを使う理由|ハイクラス転職・求人情報サイト AMBI(アンビ)
    igrep
    igrep 2019/09/05
    "「どんな機能にしましょうか」「どういう名前にしましょうか」といったことを、例えばサポートの人も巻き込んで、一緒に議論していきました" これぞDDDって感じだ。超すごい。
  • ドメインロジックはドメインオブジェクトに凝集させる - Qiita


     1    (@j5ik2o) August 18, 2019 ( )()23  ScalaScala
    ドメインロジックはドメインオブジェクトに凝集させる - Qiita
    igrep
    igrep 2019/08/28
    この手の話聞く度に、あるモジュールがどんな関数を他が使えるようにすべきかって、そのモジュール自身では決められず、モジュールの組み合わせに依存することが多いと感じる
  • 忙しいひとのためのCQRS/quickly-cqrs - Speaker Deck

    All slide content and descriptions are owned by their creators.

    忙しいひとのためのCQRS/quickly-cqrs - Speaker Deck
    igrep
    igrep 2019/05/19
    簡潔で分かりやすい
  • go言語でクリーンアーキテクチャっぽいもの | IIJ Engineers Blog


    IIJ   2015web IIJ 2018 TECH 12/6  goDDD go  pospome  Go   
    go言語でクリーンアーキテクチャっぽいもの | IIJ Engineers Blog
  • ドメインオブジェクトを中心としたClean Architecture のためのレイヤー構成 - Qiita


    Clean Architecture      ,(DBRPC)     Clean ArchitectureDDD
    ドメインオブジェクトを中心としたClean Architecture のためのレイヤー構成 - Qiita
  • The DDD Do-Over

    igrep
    igrep 2018/10/29
  • Azure Functions で Domain-Driven Design (DDD) の Domain Event を実装する - atsukanrockのブログ


     Sansan Advent Calendar 2017 25 *1 id:kanjirz50  211 Advent Calendar  Sansan Advent Calendar 2017 5
    Azure Functions で Domain-Driven Design (DDD) の Domain Event を実装する - atsukanrockのブログ
  • DDDをHaskellで考える 業務ロジックとシステムロジック - Qiita


    DDDHaskell使  DDD1DDD Haskell 1 DDDHaskell Haskell Haskell Haskell DDD  Haskell
    DDDをHaskellで考える 業務ロジックとシステムロジック - Qiita
    igrep
    igrep 2017/12/20
    SQLとIOが絡みそうなものに業務ロジックが混ざってしまうことがあるから悩ましいよね。そんな時こそSQLの組み立てに集中するrelational-recordなんでしょうけど。
  • Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita

    記事では、 チームによる持続的に変更可能なWebアプリケーションの開発を目標に、フレームワーク導入時に考慮すべき22の観点を紹介する。 フレームワークによって特徴は異なるが、番導入にあたって、考慮すべきポイントはあまり変わらないので、極力フレームワーク1に依存しすぎないよう配慮する。また、話をシンプルにするため、REST APIを提供するアプリケーションを題材とする。 前提 ソフトウェアのエントロピー ソフトウェアがエントロピー増大の法則を避けられないことを、体感している開発者は多いだろう2。普通にアプリケーション開発を続けると、開発スピードは鈍化し、品質は低下してバグが増え、開発者からは技術的負債への怨嗟の声が聞かれるようになる。エントロピー増大というフォースは極めて強力で、意思を持って立ち向かわなければ、容易にダークサイドに堕ちてしまう。 関心事の分離 大規模Webアプリケーション

    Webアプリケーションフレームワーク導入時に考慮すべき22の観点 - Qiita
    igrep
    igrep 2017/12/20
    網羅的で素晴らしい!
  • お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考えるmodelDDD設計 みなさんは、Modelと言われたときに何をイメージしますか? こんなアレを思い浮かべた方も多いかと思います。 マサカらせてください。やはりお前らのModelは間違っている。 アレをModelと呼ぶと何が不味いのか すみません、早速言い過ぎました。半分は正しいです。MVCの発明者、Trygve Reenskaug氏による1979年の説明によると、 Models represent knowledge. A model could be a single object (rather uninteresting), or it could be some structure of objects. 1 このように「Modelは単体のオブジェクトであっても

    お前らがModelと呼ぶアレをなんと呼ぶべきか。近辺の用語(EntityとかVOとかDTOとか)について整理しつつ考える - Qiita
    igrep
    igrep 2017/12/14
    まあ、結局現場ごとに入り乱れちゃうんだろうけど、覚えておきたい
  • [DDD]ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か - Qiita

    DDD連載記事 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのか ドメイン駆動設計の定義についてEric Evansはなんと言っているのか モデルでドメイン知識を表現するとは何か ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か ドメイン駆動 + オニオンアーキテクチャ概略 背景・前提 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのかの記事で、 ネット上の文献で紹介されるアーキテクチャが様々なものとなっているのです。IDDDではヘキサゴナルアーキテクチャというものが掲げられていましたが、それを進化させたオニオンアーキテクチャ、クリーンアーキテクチャなどの有名な亜種が存在します。 これが実装に着手する際に非常に大きな混乱を呼ぶのです。文脈の理解、採用するアーキテクチャの選定に時間を取られることでしょう。 と書きました。こちらに対して、私が「一番とっ

    [DDD]ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か - Qiita
    igrep
    igrep 2017/10/09
    "依存関係逆転の原則によってDomain層がInfrastructure層に依存しなくなっていること"
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)


    Ruby Rubyist  Rubyist Magazine  Rubyist MagazineRubyist  Rubyist Rubyist   Rubyist Magazine 0062   Rubyist Magazine 0062 Kaigi on Rails  RubyKaigi Takeout 2020  Rubyist Magazine 0061  Rubyist Magazine 0060  RubyKaigi 2019  Rubyist Magazine 0059  Rubyist Magazine 0058  RubyKai
    Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)
    igrep
    igrep 2017/09/09
    面白かった。Haskellでこういうのほしい
  • GitHub - jdreaver/eventful: Event Sourcing library for Haskell

    igrep
    igrep 2017/05/17
    "Eventful: Haskell Event Sourcing + CQRS Library"
  • GitHub - reactuate/reactuate: React/Redux stack (not a boilerplate kit)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - reactuate/reactuate: React/Redux stack (not a boilerplate kit)
    igrep
    igrep 2016/02/08
    “Reactuate is an opinionated stack for building React/Redux-based frontend applications with a focus on DDD (Domain-Driven Design).”
  • GitHub - gcanti/tcomb: Type checking and DDD for JavaScript

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - gcanti/tcomb: Type checking and DDD for JavaScript
    igrep
    igrep 2015/10/08
    “check the types of JavaScript values at runtime with a simple and concise syntax.”
  • 某S社のddd(メイリオ)

    Java/Spring Boot/MyBatis/Thymeleafを使った、ドメイン駆動設計のサンプルコード。ビジネスルールに焦点を合わせ、計算モデルで複雑さを整理し、型指向のプログラミングで実装する、その具体例。

    某S社のddd(メイリオ)