タグ

CleanArchitectureに関するastk_fのブックマーク (26)

  • RustでClean Architectureを実装してみる

    はじめに RustでWebアプリケーションのGraphQLバックエンドを実装してみました。その中で、できるだけClean Architectureに沿うように実装してみたので、得られた知見を公開してみたいと思います。 資料に基づきできるだけ正確な記述を目指していますが、誤りもあるかもしれません。また実装から少し時間を空けて執筆しているので、忘れている部分も多く不正確なことが書いてあるかもしれません。 Clean Architectureとは 以下のブログでRobert C. Martin(通称Uncle Bob)によって提唱されたアーキテクチャです。 その後人により書籍も出版されました。日語にも翻訳されています。 歴史について簡単に 多層アーキテクチャ (Multitier architecture) というものはかなり昔から考えられていたようです。初出についてはよくわからないのですが

    RustでClean Architectureを実装してみる
  • クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)

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

    クリーンアーキテクチャなんてものはない(クリーンアーキテクチャーの読み方)
  • Clean Architecture の勘所は『鎖国』だ。 - Qiita

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

    Clean Architecture の勘所は『鎖国』だ。 - Qiita
  • 先行開発!Javaでクリーンアーキテクチャ / Clean architecture with java

    # 解説 Blog: https://nrslib.com/clean-architecture-with-java/ YouTube: https://youtu.be/BvzjpAe3d4g # サンプルコード https://github.com/nrslib/play-clean-java # アジェンダ * クリーンアーキテクチャの概要 * 実装例 * 課題と解決 # URL HomePage: https://nrslib.com Twitter: https://twitter.com/nrslib

    先行開発!Javaでクリーンアーキテクチャ / Clean architecture with java
  • 世界一わかりやすいClean Architecture - nuits.jp blog

    項は「C# Tokyo オンライン「世界一わかりやすいClean Architecture」他」による発表の登壇原稿となります。過去に発表した.NET版の記事はこちらにアーカイブしています。 稿のサンプルコード・PPTはこちらで公開しています。 「CC BY-SA 4.0」で公開していますので、気に入っていただけたら営利目的含め、ライセンスの範囲で自由に利用していただいて問題ありません。 github.com また動画を以下で配信しています。よろしければご覧ください。 世界一わかりやすいClean Architecture はじめに まず初めに、クリーンアーキテクチャの誤解されがちな二つのことについてお話させていただきます。 その上で、クリーンアーキテクチャの質とは何か?押さえておくべき、当に重要だと考えている三つの事について、お話しします。 注意事項 さて題に入る前に、少し注意

    世界一わかりやすいClean Architecture - nuits.jp blog
  • 僕とDDDとClean ArchitectureとやっぱりDDD - kenfdev’s blog

    2022/04/21更新 ふりかえってみて、この記事は手段と目的をごっちゃにしちゃった自分がよくわかる記事です。 DDDは「どうやってコードを書くか」が問題ではありません。その点を勘違いしちゃってるエンジニアの話として、続きを読みたい人は読んでください🙏 DDD(Domain Driven Design)って難しいですよね。難しい難しいとばかり考えていた僕もようやく最近になって少しずつわかってきた気がします。そのきっかけとなった書籍と僕のストーリーを記事で紹介できたらと思います。 TL;DR Clean Architectureはなんとなくわかる DDDは難しい と感じている人は「Domain-Driven Design in PHP」を読むと道が拓けるかもしれない。 leanpub.com 僕とDDD DDDといえばEvansのドメイン駆動設計: エリック・エヴァンスのドメイン駆動設

    僕とDDDとClean ArchitectureとやっぱりDDD - kenfdev’s blog
  • ソースコードで理解するクリーンアーキテクチャ - Sansan Tech Blog

    はじめに こんにちは。プロダクト開発部の荒川です。 これまで最年少を謳っていましたが、ついに新卒の子にその座を奪われてしまいました。とても残念です。 さて今回のテーマは、皆さんお馴染みクリーンアーキテクチャ(Clean Architecture)です。 クリーンアーキテクチャは一時期流行し、その流れに乗って私もある程度の理解はしていました。 しかし、それはあくまでも感覚的な理解であって、他人に説明や良さを語れるレベルまで自分の中で落としこめていませんでした。 そこでより具体性のあるソースコードを読み込むことで、アーキテクチャへの理解を深めたいと思います。 クリーンアーキテクチャとは? クリーンアーキテクチャの定義や解説に関しては、ネット上にいくらでも公開されているので、このエントリでは詳しく話しません。 私自身が勉強に使った書籍やサイトを記事末尾の「参照」に掲載しているので、そちらを参考に

    ソースコードで理解するクリーンアーキテクチャ - Sansan Tech Blog
  • クリーンアーキテクチャーでスマホアプリ開発した感想(勉強会用) - Qiita

    はじめに 昨年からの大きな案件でClean Architectureを使った Platforms: Android/iOS Languages: Kotlin/Swift はじめに 勉強会向け資料なので、クリーンアーキテクチャー自体の解説もある程度含まれます。 逆に、時間の都合上、歴史背景や細かい部分までは行き届いていません。 もし間違いがあればご指摘ください。 オススメ書籍 アーキテクチャーを選定する目的 求められるシステムを構築・保守するために必要な人材を最小限に抑えるため 「アーキテクチャーは上位レベル、設計は下位レベル」のように区別されることがあるが、両者の間に明確な境界はなく、上位から下位に至るまで、決定の連続である スマホアプリ開発で代表的なアーキテクチャー AndroidはMVVM(Googleが推奨) iOSはMVC(AppleCocoa applicationに採用)

    クリーンアーキテクチャーでスマホアプリ開発した感想(勉強会用) - Qiita
  • Clean Architectureは全てのプログラマにお奨めしたい良著|erukiti

    Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだので、まとめてみます。コメントやツッコミなどのフィードバックがあればうれしいです。 続編としてクリーンアーキテクチャを読むためのポイントという記事を書きました。併せてご覧ください。 なぜ良著?著者のロバート・C・マーチン(著書読んだことあるかも?)は、50年前から現代に至るまで、様々なアーキテクチャを見て、第一線級として開発し続けてきた経験を元に、どのアーキテクチャでもクリーンにしようとするなら、基部分は変わらないと言ってて、それらが美味くまとまっただからです。 いってみればコンピュータ工学について抑えるべきポイントを解説したであり、The Clean Architectureそのものについてはほとんど割かれていません。それくらい、基として知るべき事が書かれたなのです。 最近のアーキテクチャを追いか

    Clean Architectureは全てのプログラマにお奨めしたい良著|erukiti
  • 実践クリーンアーキテクチャ with Java

    この記事について こちらの記事はクリーンアーキテクチャの Java 実装による解説記事です。 MVC フレームワークに組み込むために一部変更している部分もあります。 それをふまえてご覧ください。 講演内容が @IT さまに記事にしていただけました。 あわせてご参照ください。 https://www.atmarkit.co.jp/ait/articles/1907/08/news002.html クリーンアーキテクチャよりも軽量で無理なく導入しやすいアプリケーションアーキテクチャパターンを考案しました。 https://nrslib.com/adop/ スライド JJUG CCC 2019 Spring での発表資料です。 この発表をするにあたって記事を書くことにしました。 YouTube YouTube でこちらの解説を行いました。 その他解説もしています。もしよろしければチャンネル登録を

    実践クリーンアーキテクチャ with Java
  • Clean ArchitectureをNode.js+Typescriptで実装してみる | スペースマーケットブログ

    こんにちは。バックエンドエンジニアの西尾です。 スペースマーケットではAPIサイドは主にRailsを利用していますが、最近は一部サービスでNode.js+Typescriptを使い始めました。 個人的にはまだ触れていなかった領域であったのでお勉強がてら簡単なコードを書いてみたいと思っていました。 また、Node.jsの他にもう一つ最近気になり始めていたものにClean Architectureという設計思想があり、Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んでいます。 の概要は、アプリケーションが成長するに従い徐々に改修コストが上がってしまう、これを防ぐためにはうまい方法、つまり良い設計を知っている方法があるという導入から始まり、設計の歴史、原則とそれを実現するための1手段としてClean Architectureという設計思想について語られています。

    Clean ArchitectureをNode.js+Typescriptで実装してみる | スペースマーケットブログ
  • 実践 Clean Architecture

    Scala福岡 2019 https://scala-fukuoka.org/ https://github.com/yoshiyoshifujii/scala-clean-architecture-example

    実践 Clean Architecture
  • ドメインオブジェクトを中心としたClean Architecture のためのレイヤー構成 - Qiita

    ドメインオブジェクトを中心としたClean Architectureは、どういうレイヤー構成にするとよいか、簡単にまとめてみた。 イメージ たぶん、こんな感じになるはず。通常は円状に表現するが、わかりにくいので層状に書いてみた。 赤い部分の層は、直接依存の方向が上から下です。グレー部分の層は、契約だけが定義された独立した層で、ユースケース層やインターフェイス層から依存できるものとします。 インターフェイス(アダプタ)層 内外とのデータ形式の変換が主な役割 コントローラ、プレゼンター(内部から外部へデータ形式を変換する責務),ゲートウェイ(外部と通信する責務。DBやRPC) ユースケース層 アプリーケーション層ともいう アプリケーション固有のビジネスルールをカプセル化する ドメイン層 Clean Architectureでは、中心にはエンティティとだけ書かれているが、DDDでは中心はドメイ

    ドメインオブジェクトを中心としたClean Architecture のためのレイヤー構成 - Qiita
  • リファクタリングして学ぶTypeScriptでクリーンアーキテクチャ - Qiita

    概要 最近,ASCII Dwangoさんから「クリーンアーキテクチャ」というが出版されました. そこに書いてある内容は素晴らしいものでした.しかし,実際に組んでみた場合,どういう風に作るのが良いのか?どういう問題があるのか?そういった疑問が湧いてきました.そこで, 実際に非クリーンアーキテクチャのコードをリファクタリングしていくことで,クリーンアーキテクチャの要点を感じる. という試みです. クリーンアーキテクチャとは ここでは簡単にしか説明しませんが,実際にを読んで勉強することをお勧めします. 「クリーンアーキテクチャ 達人に学ぶソフトウェアの構造と設計」のp200によると フレームワーク非依存:アーキテクチャは,機能満載のソフトウェアのライブラリに依存していない.これにより,システムをフレームワークの制約で縛るのではなく,フレームワークをツールとして使用できる. テスト可能:ビジネ

    リファクタリングして学ぶTypeScriptでクリーンアーキテクチャ - Qiita
  • 翻訳 「DDD, Hexagonal, Onion, Clean, CQRS…これらをどうやり遂げるのか?」 - tagoto web - confluence

    We tried to load scripts but something went wrong. Please make sure that your network settings allow you to download scripts from the following domain: https://id-frontend.prod-east.frontend.public.atl-paas.net

  • 実装クリーンアーキテクチャ

    最近何かと騒がしいクリーンアーキテクチャですが、丁度プロダクトで採用したところだったので折角なので情報共有ということで Qiita の初記事にしてみようと思います。 こちらの記事は GUI や CUI のアプリケーションを対象にしています。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/?preview_id=1263&preview_nonce=542ba7b70f&_thumbnail_id=1293&preview=true その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 より実践的なコード(WEBアプリケーション): https://github.com/nrslib/itddd/tree/master/CleanLike YouTube での解説(WEBアプリケーション):

    実装クリーンアーキテクチャ
  • その設計、変更に強いですか?単体テストできますか?...そしてクリーンアーキテクチャ - Qiita

    はじめに アーキテクチャや設計の書籍や記事、これまでの経験も踏まえ、学んだ事をここにまとめたい。(まだ、勉強中なので微妙なところもあるかもしれません。お気付きの点があればご指摘いただけるとありがたいです。) 参考文献や参考記事は、当に良書、良記事で非常に参考にさせていただきました。 生意気なタイトルにしてしまいましたが、自分への戒めということもあってこのタイトルにさせていただいたので、ご容赦ください。 ある共通した話題 設計やアーキテクチャについて書かれた書籍や記事を読んでいく中で、言葉は違えどかなりの高確率で共通するテーマが存在した。 そう、それが 「変更に強くなろう」 といった趣旨のテーマだ。 アーキテクチャや設計に関する書籍や記事は様々な方法論で、これを実現しようとしていた。 今回のテーマと記事の構成 今回は、「変更に強くなろう」というテーマの中で重要だと感じた概念や考え方をまとめ

    その設計、変更に強いですか?単体テストできますか?...そしてクリーンアーキテクチャ - Qiita
  • JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita

    事の発端 始まりはこちらのツイートから。 Usecasesレイヤーを充実させていったらVuex Actionsほとんど使わなくなるな笑 — Andy (@andoshin11) 2018年6月15日 それはどういうことだよ・・・ フロントでどう使うんだ・・・? と疑問に思い、自分なりに検証・実装してみたいと思ったのが事の発端です。 Clean Architectureとは? まず根の理解がほぼなかったので調べることにしました。 こことか https://qiita.com/koutalou/items/07a4f9cf51a2d13e4cdc こことか https://blog.tai2.net/the_clean_architecture.html こことか https://qiita.com/Tueno@github/items/705360b357c2a00c9532 こことか h

    JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita
  • クリーンアーキテクチャの書籍を読んだのでAPIサーバを実装してみた - Qiita

    はじめに クリーンアーキテクチャの書籍を読んだので、実際にクリーンアーキテクチャの考え方を採用したREST APIGO言語で実装してみた。 ↓↓↓↓ソースコード↓↓↓↓ https://github.com/yoshinorihisakawa/sample-api-hoop/tree/develop この記事ではクリーンアーキテクチャの説明というよりかは、実装ベースの実践的な内容にしている。 対象読者 ・クリーンアーキテクチャで実装されたソースコードを理解したい人 ・クリーンアーキテクチャの右下の図がよくわからない人 ・アーキテクチャについて勉強を始めた初心者 クリーンアーキテクチャとは? クリーンアーキテクチャとは、8th Light, Inc.のブログ記事で提案されている。 一言で言うと、依存関係をコントロールし持続可能なソフトウェアを実現するための体系的な手法である。 ※ DIやD

    クリーンアーキテクチャの書籍を読んだのでAPIサーバを実装してみた - Qiita
  • Androidアプリをリリースしたので設計についてまとめてみる(クリーンアーキテクチャ) - Qiita

    アプリについて リリースしたアプリはこちらです。 https://play.google.com/store/apps/details?id=com.teach_timetable_appppppp.www.teachtimetable ソースコードはこちら https://github.com/fungiy/TeachTimeTable 学校の先生向けの時間割アプリ。 言語はKotlinです。 作ってる途中に考えたことなんかをコードを交えながら解説してみます。 間違った記述があればご指摘ください。 また、ここはこうしたほうがいいみたいなご指摘も大歓迎です。 (プルリクもお待ちしてます) クリーンアーキテクチャは以下の図が有名だと思います。 クリーンアーキテクチャでは、ビジネスロジック(ドメイン層)を中心に置き、データベース・ネットワークアクセスなどのインフラ層と、UI層を外側として扱いま

    Androidアプリをリリースしたので設計についてまとめてみる(クリーンアーキテクチャ) - Qiita