並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 68件

新着順 人気順

"Clean Architecture"の検索結果1 - 40 件 / 68件

  • フロントエンドの複雑さに立ち向かう 〜DDDとClean Architectureを携えて〜 | さくらのナレッジ

    自己紹介 さくらインターネットではシニアフロントエンドエンジニアをやっています。代表作は「NES.css」というファミコン風CSSフレームワークで、エイプリルフールには「さくらのINFRA WARS」というゲームの企画開発をしていました。 話さないこと 本記事ではソフトウェア設計ということで、以下の設計・アーキテクチャに関しては話す予定はありません。コンポーネント設計や CSS 設計に関しては過去に記事やスライドを公開していますので、気になる方はそちらを参考にしていただければと思います。 コンポーネント設計 加速するコンポーネント設計入門 / Component Design as an Accelerator コンポーネント指向時代のmargin戦略 / Rethinking the relationship between Components and Margins CSS設計 OO

      フロントエンドの複雑さに立ち向かう 〜DDDとClean Architectureを携えて〜 | さくらのナレッジ
    • 【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog

      はじめに 対象読者 あまり説明しないこと 前提とするバージョン 参考となるレポジトリ 3. アーキテキチャ及びディレクトリ構造 オニオンアーキテクチャを採用 オニオンアーキテクチャとは 誕生の背景 依存関係逆転の原則の活用 採用理由 参考になった記事 ディレクトリ構造 全体の構成 api schema apiとusecaseの間のデータ構造を提供する役割 schemaはパスオペレーション関数のリクエストとレスポンスの構造を提供する役割 usecase domain infrastructure core container_config exception 参考にしたもの まとめ はじめに ラクスルグループのノバセルで新卒2年目のエンジニアをしています田村(tamtam)です。 第1回では、AWS Lambda x FastAPIによるPythonモダンAPI開発を実現する上で役立つであろ

        【全2回】AWS Lambda x FastAPIによるPythonモダンAPI開発のすゝめ 2 - RAKSUL TechBlog
      • フロントエンドで 良いコードを書くために

        Keeping it simple: Cilium Mesh - networking for multi-cloud Kubernetes and beyond

          フロントエンドで 良いコードを書くために
        • Clean Architecture を毎日1章ずつ完読しました(PDF公開) - そこに仁義はあるのか(仮)

          以前のブログで100日かけてエリック・エヴァンスのドメイン駆動設計を完読しましたと書きましたが、それに続いて Clean Architecture も完読しました! 4/21から始まり、(家庭の都合で2日おやすみもありましたが)毎日1章ずつ、全34章を無事に完読しました 🙌 そして、今回もそれぞれの章で学んだことを毎日ノートにまとめてツイートしていきました。 Clean Architectureもかなり長い間積んでいた本だったので、やっと消費できてよかった…。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ) 作者:Robert C.Martin,角 征典,高木 正弘ドワンゴAmazon ツイートはこちらのモーメントにまとめています。 今回は他の方のツイートも一緒にモーメントに追加していきました。 モーメントは100個までしかツイートを登録で

            Clean Architecture を毎日1章ずつ完読しました(PDF公開) - そこに仁義はあるのか(仮)
          • 【Go言語】クリーンアーキテクチャで作るREST API – 株式会社ライトコード

            参考:https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html クリーンアーキテクチャで調べるとよく出てくる例の円ですね。 ざっくり説明すると、円の中の各項目は矢印の向き(内側)に依存(参照)するようにして、特定の項目の仕様変更が他の項目に影響を及ぼさないようにしています。 それによってそれぞれが外部の項目を気にすることなくテストできたり、仕様変更の影響範囲が少なくなったりといった利点があります。 実装:クリーンアーキテクチャ化では早速、クリーンアーキテクチャ化を進めていきましょう! Entities外側は内側の参照を持つため、内側から順に実装していきます。

              【Go言語】クリーンアーキテクチャで作るREST API – 株式会社ライトコード
            • クリーンアーキテクチャのお話

              概要 個人開発でクリーンアーキテクチャを実装してみました。理由は、夏のインターンでクリーンアーキテクチャを採用したプロダクトに参加させていただいたため、また、復習を込めてアウトプットしようと思いました。 初投稿で荒削りかもしれませんが、この記事を訪れた方々の役に少しでも立つことができれば幸いです。 はじめに クリーンアーキテクチャといえば下図を思い浮かべる人が多いと思います。 具体的な説明は様々な人がしているため、今回は簡単に説明しようと思います。 クリーンアーキテクチャについて詳しく知りたい方へ Uncle Bob: The Clean Code Blog Qiita: 実装クリーンアーキテクチャ クリーンアーキテクチャの特徴 ボブおじさんの記事を読んでみると以下のように記述されています。 Independent of Frameworks. The architecture does

                クリーンアーキテクチャのお話
              • Clean ArchitectureにおけるRepositoryとGateway

                主旨 Clean Architectureに登場するユースケースと外界とのアダプターとなるRepositoryとGatewayという概念について、実際に使う場面になった時にどちらをレイヤ名として使用するのが正しいのか?が気になったので、備忘録としてまとめておこうと思いました。 (個人的解釈なので、誤りがあればご指摘いただけると嬉しいです!) 結論 結局のところ、「ユースケースと外界とのアダプターとなる責務を果たしている」なら、どちらでも良さそうという結論に至りました(雑ですみません) そもそも気になった経緯 Clean Architectureといえば以下の図が有名かと思います。 緑色の部分にあるInterface AdapterにはGatewayと書かれていますが、実際に開発する時やWebでサンプルコードを見たりすると、Repositoryという命名で主にDBとの接続を責務とするレイヤが

                  Clean ArchitectureにおけるRepositoryとGateway
                • GitHub - Katsukiniwa/awesome-software-design-ja: 日本語でのソフトウェア開発・設計に関する記事や書籍をまとめたリポジトリです

                  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.

                    GitHub - Katsukiniwa/awesome-software-design-ja: 日本語でのソフトウェア開発・設計に関する記事や書籍をまとめたリポジトリです
                  • 『SymfonyとDoctrineで簡単クリーンアーキテクチャ』をやってみる

                    PHP Conference Japan 2021でお話しさせていただいた、『SymfonyとDoctrineで簡単クリーンアーキテクチャ』ですが、実際にやってみようと思います。 当日のセッションはこちら やってみるユースケース 『ユーザが商品を購入する』『複数いる配送係に注文内容連絡する』っていうのをやります。 モデリング 概念モデル図 ユーザは複数の注文ができます。注文にはどの商品をいくつ買ったかがわかる注文明細が紐づいています。 配送係に連絡はするものの、注文には紐づかないので独立した形にしました。 クラス図 『ユーザが商品を注文する』というユースケースを実装するクラスと、『配送係に注文内容を連絡する』というユースケースを実装するクラスを用意します。 ここで、配送係に連絡するためには配送係を取得しないといけないので、データサービスを用意し、『配送係を取得する』処理を別途用意します。

                      『SymfonyとDoctrineで簡単クリーンアーキテクチャ』をやってみる
                    • SymfonyとDoctrineで
簡単クリーンアーキテクチャ

                      2021/10/02, 03に開催されてPHP Conference Japan 2021の登壇でお話ししたスライドです。 #phpcon2021 #phpcon #php

                        SymfonyとDoctrineで
簡単クリーンアーキテクチャ
                      • Clean Architecture on Frontend (翻訳) - Qiita

                        こちらはDEV Communityに2021年9月2日に投稿され、現在反響を巻き起こしているフロントエンドにおけるクリーンアーキテクチャの実装についてのAlexさんの記事になります(原文はこちら)(twitterにて翻訳掲載許可取得済み)。 かなり大ボリュームな超大作記事となっておりますが、Reactなどを使ったフロントエンドプロジェクトのディレクトリー構成やファイルごとの責務の切り分けのベストプラクティスなどの決定版といえるものがまだまだ出てこない中で、個人的にまさに待ち侘びていたような内容の記事かと思い、是非日本のフロントエンドコミュニティでも知見が共有されればと思いました。 それでは以下、本文です。 *翻訳は大部分をDeepL翻訳によって行っていますが、適宜修正してあります。 少し前に、私はフロントエンドにおけるクリーンアーキテクチャについての講演を行いました。この記事では、その講演

                          Clean Architecture on Frontend (翻訳) - Qiita
                        • Android版CODEアプリのアーキテクチャと使用ライブラリ - リサーチ・アンド・イノベーション 開発者ブログ

                          リサーチ・アンド・イノベーションの高田(tfandkusu)です。Androidエンジニアをやっています。弊社には3人目のAndroidエンジニアを採用する予定があり現在準備中です。この記事では応募者が弊社で働くイメージを持ちやすくするために、Android版CODEアプリのアーキテクチャと使用ライブラリを広く簡潔に紹介します。 アーキテクチャ アーキテクチャは5層構造のレイヤードアーキテクチャになっています。Android公式のアプリの推奨アーキテクチャのViewModelとRepositoryの間にUseCaseを加えた構造を採用しています。UseCaseを加えた理由はViewModelの単体テストの肥大化を防ぐためです。 アーキテクチャ 非同期処理 Kotlin CoroutinesをFlowを含めて使用してます。 RemoteDataStore サーバサイドはRuby on Rai

                            Android版CODEアプリのアーキテクチャと使用ライブラリ - リサーチ・アンド・イノベーション 開発者ブログ
                          • クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)

                            すでに何人かの人がクリーンアーキテクチャなんてないよ、って話はしていてイマサラだと思うんですが。 あえてブログの記事に残そうかなと思って書いてみます。 最近、改めてクリーンアーキテクチャ本を読んだり、原文を読んだり、 ここ数ヶ月ツイート色々な人のを観測したり社内で話したりしていて 考えがまとまってきたので、自分の言葉で整理してみたくなった。 「へー、クリーンアーキテクチャっていうソフトウェアアーキテクチャがあるんだー」という微妙な誤解?をちょっとでも減らす一助になればという感じです。あと、本の読み進め方のヒントにもなるかも 先に結論 クリーンアーキテクチャというのはアンクルボブの書いた本。 ソフトウェアアーキテクチャのことではない。 the クリーンアーキテクチャというブログ記事はただのソフトウェアアーキテクチャの例(そして本の一部分)だが、独り歩きしている クリーンアーキテクチャというソ

                              クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)
                            • 単一責任の原則(Single responsibility principle)について、もう一度考える | オブジェクトの広場

                              単一責任の原則(Single responsibility principle)について、もう一度考える はじめに オブジェクトの広場をご覧の皆様ならば、「SOLID原則」という言葉を聞いたことがあるかもしれません。 SOLIDとは、以下の5つのソフトウェア設計原則を並べたバクロニムです。 Single Responsibility Principle:単一責任の原則 Open/closed principle:オープン/クロースドの原則 Liskov substitution principle:リスコフの置換原則 Interface segregation principle:インターフェース分離の原則 Dependency inversion principle:依存性逆転の原則 ソフトウェアエンジニアが知っておくべき設計原則のセットとして、Clean Architecture や

                                単一責任の原則(Single responsibility principle)について、もう一度考える | オブジェクトの広場
                              • クリーンアーキテクチャのUseCase Inputについて見直してみた

                                ターゲット クリーンアーキテクチャ 初級者~中級者 概要 WebAPI開発時はバックエンドのアーキテクチャを考えて実装すると思いますが、取り入れるアーキテクチャの一つにクリーンアーキテクチャがあります。 私自身もなんとか少しずつ考え方を取り入れようとしているのですが、UseCaseのInput Dataに関してはずっともやもやがあったので、「単に自分の理解が間違っているだけなのではないか?」「一回考え方を見直した方が良いのではないか?」という思いから今回見直してみることにしました。結果、見事にわかっていなかったようです。今でも理解しているかと言われると怪しいですが。。 参考文献は、クリーンアーキテクチャの原本である**Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Mar

                                  クリーンアーキテクチャのUseCase Inputについて見直してみた
                                • Upgrow: Railsアプリの保守性を高めるためのShopifyのアプローチ / Upgrow

                                  Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3

                                    Upgrow: Railsアプリの保守性を高めるためのShopifyのアプローチ / Upgrow
                                  • Clean Architectureを採用したBackend For Frontendの開発とこれまでの所感 - LIFULL Creators Blog

                                    こんにちは。テクノロジー本部のyoshikawaです。好きなLinux DistributionはManjaro Linuxです。 今回はレガシー化が進むLIFULLのメインサービスの開発効率の向上とコードベースの健全性の確保をすべく、Clean Architectureを採用しバックエンドを刷新している取り組みについて紹介させていただきます。 なお、Clean Architecture自体の説明および解説は本記事では行いません。 背景:歴史あるバックエンドの刷新 アプローチ:新たなアーキテクチャと共創 採用したアーキテクチャ・技術 Clean Architectureを採用した理由 TypeScriptを採用した理由 LoopBackを採用した理由 Clean Architectureの実践 レイヤー分け:例の図と新BFFアーキテクチャのレイヤーとのマッピング レイヤー内・レイヤー間:独

                                      Clean Architectureを採用したBackend For Frontendの開発とこれまでの所感 - LIFULL Creators Blog
                                    • Unityを利用した大規模なゲーム開発にクリーンアーキテクチャを採用した話 - WonderPlanet Developers’ Blog

                                      こんにちは、タノシムスタジオテックリードの吉谷です。タノシムスタジオでは2011年ごろからクライアントアプリケーションの開発にUnityを利用し始め、いろいろ試行錯誤をつづけた結果、現在ではクリーンアーキテクチャの考え方を取り入れています。 今回は、Unityを利用したゲーム開発にクリーンアーキテクチャを適用した例として、導入理由、具体的な構成、実際に感じたメリット、デメリットなどを紹介したいと思います。 クリーンアーキテクチャとは クリーンアーキテクチャはRobert C. Martin氏が自身のブログにて発表した、すべてのソフトウェアアーキテクチャが守るべき考え方やアプローチがまとめられた概念です。以下のような同心円状の図で説明されることが多いかと思います。 出典: The Clean Architecture クリーンアーキテクチャの説明自体は、検索していただければ優れた記事や書籍な

                                        Unityを利用した大規模なゲーム開発にクリーンアーキテクチャを採用した話 - WonderPlanet Developers’ Blog
                                      • Goのテストに使える手作りモックパターン - Money Forward Developers Blog

                                        こんにちは。 京都開発拠点でGoエンジニアをしています @yoskeoka です。 Goを中心技術として性能改善やプロダクト間を横断するような機能の設計、実装を行うKTAチーム (京都開発本部 テクニカルアーキテクトチーム) 所属です。 突然ですが、皆さんはGoでテストを書いているでしょうか。 我々はテストを書くことが中長期的なスピードアップに繋がると信じて日々テストを書くようにしています。 KTAではGoの実装をする際にClean Architectureの考えに基づいたpackage分けを行っていますが、packageを分けたり、インターフェースを定義したりとしていくと、テストを書くのが難しい部分というのが出てきます。 そんな場合に使えるモック作りテクニックを今回は紹介したいと思います。 Clean Architectureはテストしやすくなると言うが Clean Architectu

                                          Goのテストに使える手作りモックパターン - Money Forward Developers Blog
                                        • Clean Architecture提唱者 Robert C. Martin氏が登壇。オンラインイベント「Builders Box ON AIR ♯3クリーンアーキテクチャ」が開催

                                          Sansan株式会社が運営する、エンジニアリング強化のためのプロジェクト「Builders Box」は、エンジニア向けオンラインイベント「Builders Box ON AIR」を、1月29日(金)に開催します。 ■開催概要 「Builders Box ON AIR」は、Builders Boxが企画する、世界に通用するエンジニアになるための知見を共有するイベントです。第3回目となる今回のテーマは「クリーンアーキテクチャ」です。 「Clean Architecture」の提唱者である、Robert C. Martin氏をゲストに迎え、エンジニアが押さえておくべきアーキテクチャやアプリケーションに最適なアーキテクチャとはどのようなものか等、広い視点で「クリーンアーキテクチャ」をテーマにお話しいただきます。 ■スピーカー紹介 Robert C. Martin(ロバート C.マーチン)氏 197

                                            Clean Architecture提唱者 Robert C. Martin氏が登壇。オンラインイベント「Builders Box ON AIR ♯3クリーンアーキテクチャ」が開催
                                          • ドメイン駆動設計で保守性をあげたリニューアル事例 〜 ショッピングクーポンの設計紹介

                                            ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! Yahoo!ショッピングクーポンチームの小倉です。 前回のフロントエンド技術刷新の話とは打って変わり、今回は2019年に行ったバックエンド技術刷新の話です。 刷新前のシステムはノンフレームワークPHPのモノリスでしたが、現在は主にJava/Spring Bootでマイクロサービス化しています。今回は、その中でもっとも仕様が複雑だったマイクロサービスにおいて、ドメイン駆動設計(Domain Driven Design:DDD)を実践した話をご紹介します。 ショッピングクーポンの自由度を知る みなさんは、ショッピングの商品が割引になるクーポンをご存じでしょうか? 実は、クーポンには、ヤフーが予算をだして発行する「モールク

                                              ドメイン駆動設計で保守性をあげたリニューアル事例 〜 ショッピングクーポンの設計紹介
                                            • 自分が現状気に入っているアプリケーションのパッケージ構成をさらす - Qiita

                                              クリーンアーキテクチャや DDD の戦術的設計、CQRS などを勉強して、現状自分が気に入っているアプリケーションのパッケージ構成をさらします。 実際に Java (Spring Boot) 実装してみて、自分としてはある程度納得感を持てた構成になります。 全体像 パッケージ構成の全体像は下図の通りです。 ディレクトリで表現すると以下のようになります。 . ├── application │   ├── external │   ├── query │   │ └── user │ │   ├── UserQueryModel │ │   └── UserQueryService │   └── service │   └── user │    ├── UserApplicationService │    └── UserGetOutput ├── domain │   └── mod

                                                自分が現状気に入っているアプリケーションのパッケージ構成をさらす - Qiita
                                              • 5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ

                                                この記事は Laravel Advent Calendar 2020 - Qiita 最終日の記事です。 TL;DR DDD や "真の" クリーンアーキテクチャは, Web 業界における大抵の現場ではオーバースペックだし,導入しても全員がついてこれるとは限らない app/UseCases ディレクトリだけ切って,ドメインごとに単一責務なクラスを置くと使いやすいよ ActiveRecord 指向のフレームワークで Repository パターンを無理に導入すると死ぬので, UseCase で Eloquent Model の機能を使うことを恐れるな はじめに Zenn では初投稿です。日本の Laravel コミュニティではもうお馴染みのようで実はあまり顔を出していない(?) @mpyw と申します。オンラインサロンの火付け役となった Synapse が最初の仕事でしたが,就職後すぐ会社が

                                                  5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ
                                                • ある程度複雑なiOSアプリに必要なClean Architectureのベストプラクティスを考えてみた - Qiita

                                                  読者の対象 iOSのモバイル開発において、MVC, MVVM, MVPでは手に負えなくなってきたと感じている人 動機 iOSで中大規模のアプリを作成する上で、クリーンアーキテクチャの採用する上でどういった実装がベストプラクティスなのかということをメモと勉強を兼ねて残したいと思います。 自分が考えているオレオレな解釈でクリーンアーキテクチャを理解したつもりでいるので、間違っているところが多々あるかもしれないです! 複数の現場を経験してきて自分の考えうるベストプラクティスとして作ったものですが、ツッコミどころなどあればissueやプルリクを投げてもらえば議論させていただきたいです! プロジェクト概要 SwiftでTodoアプリをクリーンアーキテクチャであるVIPER, View Interactor Presenter Entity Routerでつくりました。 クリーンアーキテクチャと一口に

                                                    ある程度複雑なiOSアプリに必要なClean Architectureのベストプラクティスを考えてみた - Qiita
                                                  • ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog

                                                    こんにちは、テックリードの夏です。 今年4月にCTOからテックリードに肩書が変わり、ガリガリコードを書くようになりました。 背景については、こちらをご覧ください。 www.wantedly.com 普段はプロダクト側の機能開発と、サーバ側の基盤開発を半々ぐらいの割合で仕事しています。 一口にサーバ側の基盤開発といっても定義が曖昧なのですが、基本的にはこんな感じのタスクをやっています。 インフラコストの最適化 不正なアクセスからの防御 障害の再発防止 新技術の導入やアーキテクチャの整備 今回はこのうち「新技術の導入やアーキテクチャの整備」の中で、サーバサイドをGo + Clean Architectureで再設計したことについてお話したいと思います。 背景 ミラティブは2015年春頃に開発が始まり、同年8月にサービスがリリースされ、2020年8月で5周年を迎えました。 その過程で組織やプロダ

                                                      ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
                                                    • GitHub - jasontaylordev/CleanArchitecture: Clean Architecture Solution Template for ASP.NET Core

                                                      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 - jasontaylordev/CleanArchitecture: Clean Architecture Solution Template for ASP.NET Core
                                                      • 脆弱性レジリエンスを高めるための Clean Architecture | yamory Blog

                                                        ビジネススピードを確保しつつ、脆弱性のリスクを抑えるにすれば良いのでしょうか。本記事では、Clean Architecture を用いて脆弱性への対応力「レジリエンス」を高めるアプローチを解説します。

                                                          脆弱性レジリエンスを高めるための Clean Architecture | yamory Blog
                                                        • リポジトリクラスのメソッド設計 - kawasima

                                                          データベースの検索メソッド(リポジトリとかDAOとか呼ばれる責務のもの)をどう設計するかは、選択肢が多く考えられる。それぞれの例と判断基準について検討してみよう。 例えば、このカルーセル(carousel)みたいなものを考える。現在のRoomClipのカルーセルは、その日に投稿されたフォトを10件程度選択する仕様である。

                                                            リポジトリクラスのメソッド設計 - kawasima
                                                          • クリーンアーキテクチャのUsecaseはなぜControllerへ値を返すのではなくOutput PortとしてPresenterを呼び出すのか - Runner in the High

                                                            何を言っているのかと言うと、みんな大好きクリーンアーキテクチャの右下に図示されているFlow of Controlのこと。 黒線が引かれているということは、つまりUsecaseの中でOutput Portのインターフェイスを持つPresenterの関数なりが最終的に実行されるということである。 ここで湧き上がってくる疑念は「UsecaseがPresenterを呼び出さなくてもControllerに返り値とかで値を返して、Controller経由でPresenterに渡して実行しても同じなんじゃないの?」である。つまりOutput Portというインターフェイスそのものを撤廃してControllerにPresenterを使わせるアイデアである。たしかに、仮にこの方針で行ったとしても依存の方向が壊されることはない。 Software Engineeringでは同様の質問がかなり盛り上がっている

                                                              クリーンアーキテクチャのUsecaseはなぜControllerへ値を返すのではなくOutput PortとしてPresenterを呼び出すのか - Runner in the High
                                                            • Clean ArchitectureとEffで変更に強いAPIを設計する

                                                              モジュラモノリスで表現する複雑なドメイン領域と境界 https://speakerdeck.com/showmant/expressing-complex-domain-regions-and-boundaries-with-modular-monoliths PofEAAで考えるSaaSバックエンドの作り方 https://speakerdeck.com/dnskimo/pofeaadekao-erusaasbatukuendofalsezuo-rifang The Clean Architecture https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Freer Monads, More Extensible Effects http://okmij.org/ftp/Haskell/

                                                                Clean ArchitectureとEffで変更に強いAPIを設計する
                                                              • クリーンアーキテクチャの実装例 Javaでクリーンアーキテクチャする方法Part.3

                                                                開発者にはしばしば必要なものがないという状況が訪れます。デベロッパーエバンジェリストの成瀬氏が、実際に10名弱のチームで新規プロダクトを作る際にクリーンアーキテクチャの構成を実践してみた話をしました。 Part.3はクリーンアーキテクチャの実装例について。動画はこちら。 これに従って実装すれば、見えるものがあるんじゃない? 詳しくいきましょうか。実装例がどういうものか? 右下の図がすごく大事という話をしましたよね。これをもっと細かくしましょう。そういう図が実はクリーンアーキテクチャのWebと書籍にもありました。Robert C. Martin、この人はかなり有名な人で、あのSOLID原則を定義した人です。Robert C. Martinがこのクリーンアーキテクチャというのを発表して、iOSクリーンアーキ……iOSのほうでかな。発表して(※のちに勘違いだったとYouTube説明欄で訂正)、そ

                                                                  クリーンアーキテクチャの実装例 Javaでクリーンアーキテクチャする方法Part.3
                                                                • Clean Architecture は飲んでも呑まれるな - Qiita

                                                                  Clean Architecture は一つの選択肢でしかない PofEAA によれば、エンタープライズアプリケーションアーキテクチャにおけるドメインロジックの実装方式は以下の3つに大別できます。 Transaction Script Table Module Domain Model さらに、Domain Model については以下の2つに大別できます。 Active Record Data Mapper Active Record は Rails に代表される、Domain Object でデータアクセスをラッピングするパターン。 Data Mapper は各種 ORM に代表される、Domain Object とデータアクセスをマッピングするパターン。 この中で Clean Architecture に則ることのできるものは、Data Mapper による Domain Model

                                                                    Clean Architecture は飲んでも呑まれるな - Qiita
                                                                  • Laravelとオブジェクト指向とクリーンアーキテクチャについて理解を深めてみた。 - Qiita

                                                                    【追記(2020/06/08)】 本投稿に頂いたコメントを基に加筆しました。以下に挙げた項目に対して加筆し、加筆した部分は【追記】と記載しています。 View Presenter / View Model 【追記(2020/05/31)】 同期の子から貰ったコメントを基に加筆しました。以下に挙げた項目に対して加筆し、加筆した部分は【追記】と記載しています。 SOLID原則 Form Request 新卒研修で「Laravelを使ってアプリケーションを自分で作ってみよう。」という趣旨のコーナーがあり、同期がやっていることを真似てClean Architectureを導入してみるも、無事、爆死することに成功しました。この投稿は、爆死するまでに得た知見についてまとめたものです。 この記事を読むことで得られる知見 投稿の要旨を載せておきます。 MVCアーキテクチャに愚直に沿うと、Fat Contr

                                                                      Laravelとオブジェクト指向とクリーンアーキテクチャについて理解を深めてみた。 - Qiita
                                                                    • はじめてのArchUnit - Qiita

                                                                      今回は、2018/11に発表されたTechnology Radar Vol.19の中で自分が特に気になったArchUnitというライブラリについて書いていきたいと思います。 ゴール ArchUnitとはなにかを知る ArchUnitで出来ることを知る はじめに この記事は、公式の情報を参考にしながら実際に手を動かした結果を載せていますが、ArchUnitをつかって実装する場合はこちらの記事ではなく、公式のArchUnit User Guideを参考にするようにしてください。 また、記事の中でなにか間違っている箇所がありましたらコメントお願いします。 ArchUnitとは ArchUnitは、Java/Kotlinで書かれたアプリケーションを対象とした、アーキテクチャのテストを行うライブラリです。ArchUnitのソースコードはGitHubに公開されています。 https://github.

                                                                        はじめてのArchUnit - Qiita
                                                                      • さよならアーキテクチャ議論|Seiji Takahashi@ベースマキナ

                                                                        ポエム。 つまり?予算やチームのリテラシーに合わせて最速で作れて、チーム内で「俺ら高凝集低結合だなー」と思えるなら、アーキテクチャはなんでもいいと思えてきました。 前提・まだ割と収益が安定してないプロジェクトでの話です。お金があるなら好きにやりましょう。Go Bold。 ・DDDやクリーンアーキテクチャがダメとは言ってないです。むしろ自分は直近そこまで厳格ではないクリーンアーキテクチャでAPI書いてます。 ・以前こういうポスト書くくらいにはアーキテクチャのこと試行錯誤してました。 アーキテクチャ導入議論への疲労以前僕は、DDDやクリーンアーキテクチャを導入するという話が出ると積極的に顔を出すようにしていました。でも、最近は「導入しましょう」「既に適用してあるのでキャッチアップしてください」などの議論をするのに少し疲れてしまい、足が重くなったように感じます。もうおじいちゃんなので体力がないん

                                                                          さよならアーキテクチャ議論|Seiji Takahashi@ベースマキナ
                                                                        • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

                                                                          アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

                                                                            「ビジネスロジック」とは何か、どう実装するのか - Qiita
                                                                          • 実践クリーンアーキテクチャ【プログラミング】

                                                                            音ズレ修正 Ver. → https://www.youtube.com/watch?v=BvzjpAe3d4g 本編 → 7:08 ~ JJUC CCC 2019 Spring の講演「「先行開発!クリーンアーキテクチャ -- ゼロから始める新規開発」の再演です。 講演の概要は下記URLのイベントページをご覧ください。 # URL イベントページ: https://nrs-seminar.connpass.com/event/174000/ Togetter: https://togetter.com/li/1502339 文字起こし(ログミーTechさま): https://logmi.jp/tech/articles/323233 スライド: https://speakerdeck.com/nrslib/clean-architecture-with-java github: h

                                                                              実践クリーンアーキテクチャ【プログラミング】
                                                                            • Clean Architecture の勘所は『鎖国』だ。 - Qiita

                                                                              ■ クリーンアーキテクチャって難しい。 クリーンアーキテクチャって難しいですよね。 この有名な同心円状の図、何度見てもよくわかりません。右下にある矢印もよくわかりません。 様々な記事を見ても、やっぱり分かるような分からないような... プロダクトに COM 通信が必要になったので勇んでクリーンアーキテクチャを採用したはいいものの、 どうにも理解しきれず泣きながら必死に試行錯誤をしていたところ、 ふと クリーンアーキテクチャは『鎖国』に例えると分かりやすい という事に気が付きました。 本記事では初心者なりにその言語化にチャレンジしてみたいと思います。 ※ なお考え方そのものに着目するため、コードは全く取り扱いません。その点ご了承ください。 またクリーンアーキテクチャは、表面的なメリット(ユニットテストしやすい等) だけを見て批判されてしまうことも有るようです。 その辺りについても少し触れてみ

                                                                                Clean Architecture の勘所は『鎖国』だ。 - Qiita
                                                                              • ソフトウェアアーキテクチャの集大成「Clean Architecture」とは

                                                                                ソフトウェア開発においてさまざまなアーキテクチャが提案されている中で、テストに強いアーキテクチャを紹介する本連載ですが、第5回の本稿では、「Clean Architecture」(クリーンアーキテクチャ)について解説します。 著者紹介:石黒 邦宏 デジタル・マジック・ラボでインターネット経路制御運用に関わり、オープンソースウェアで経路制御を実現する「GNU Zebra」を開発。1999年IP Infusionを共同設立し、CTOに就任。2009年Access CTO、2015年アプリックス CTOを経て、2018年デジタルハーツホールディングスCTOに就任。 「Clean Architecture」とは? Clean Architectureはロバート・C・マーティン氏が提唱したアーキテクチャです。マーティン氏は「アンクルボブ」という通称でも知られている著名なエンジニアで、「Manifes

                                                                                  ソフトウェアアーキテクチャの集大成「Clean Architecture」とは
                                                                                • Laravel - 『ドメイン駆動設計入門』してみて Clean な世界を垣間見た話し - Qiita

                                                                                  要約 / inb4 tl;dr 『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』 を読んで DDDの初歩 について学んだら、以前から気になっていた Clean Architecture についての記事も理解しやすくなった。 Laravelで実践クリーンアーキテクチャ - Qiita Laravelでクリーンアーキテクチャ - Qiita 前回の記事で実装したディレクトリ構成を改めて見直した。 前回の記事:Laravel - 『ドメイン駆動設計入門』を読んで Laravel を使って実装してみた - Qiita それっぽい構成が出来たので、今後実装する時のために思考を整理してみた。 はじめに 前回の記事 でも書いたのですが、2020年2月9-11日に開催された PHPerKaigi2020 に参加してきました。 PHPerKaigi 2020 ここで以下の本を知り、DD

                                                                                    Laravel - 『ドメイン駆動設計入門』してみて Clean な世界を垣間見た話し - Qiita