タグ

clean-architectureに関するktykogmのブックマーク (11)

  • Golang開発者のためのクリーンアーキテクチャ

    はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整理した内容を共有します。 このアーキテクチャの目的は、システムの各層を独立させ、変更に強く、テストしやすい設計を実現することです。 この記事では、クリーンアーキテクチャの基概念、Golangでの実装方法、およびディレクトリ構成について詳しく説明します。 なお、この記事では個人的な見解を述べており、必ずしも正解を書いているわけではありません。もし誤りがあれば、ぜひご指摘いただけると幸いです。 クリーンアーキテクチャの基概念 クリーンアーキテクチャの元となったのは、ロバート・C・マーチン(通称「

    Golang開発者のためのクリーンアーキテクチャ
  • 擬人化で完全に理解するクリーンアーキテクチャ

    PHPカンファレンス関西2024 の発表資料になります

    擬人化で完全に理解するクリーンアーキテクチャ
  • Goでクリーンアーキテクチャを試す | POSTD

    依存がなく、テスト可能であり、クリーン。 Uncle Bobのクリーンアーキテクチャの概念を読んだので、これを私はGoで実装してみたいと思います。このアーキテクチャは、自分たちの会社である Kurio – App Berita Indonesia で使っていたものに似ていますが、少し違っています。大きな違いはなく、概念は一緒なのですが、フォルダ構造が違っています。 サンプルのプロジェクトとして、記事をCRUDで管理するリポジトリを https://github.com/bxcodec/go-clean-arch にpushしてあります。 * 免責条項 ここで使われているどのライブラリあるいはフレームワークも、利用を特別推奨しているものではありませんので、ご自身あるいはサードパーティによる同じ機能のものと入れ替えることが可能です。 基的な考え方 ご存知のように、クリーンアーキテクチャで設計

    Goでクリーンアーキテクチャを試す | POSTD
  • GitHub - bxcodec/go-clean-arch: Go (Golang) Clean Architecture based on Reading Uncle Bob's Clean Architecture

    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 - bxcodec/go-clean-arch: Go (Golang) Clean Architecture based on Reading Uncle Bob's Clean Architecture
  • Golang and clean architecture

    Not only Dame Time but also Go TimeI wanted to publish this article during the early days of the NBA Playoffs, when Damian Lillard was balling. Although it’s a bit too late now, he still deserves a big shout out. In this post we will review and deploy a golang application that follows the clean architecture principles. Source code can be found here.Update: 3.7.2021: Removed OpenAPI client generati

    Golang and clean architecture
  • Go言語でClean Architectureを実現して、gomockでテストしてみた - Qiita

    やりたかったこと Go言語を使用したDIパターンについて学ぶ Clean Architectureの実装について学ぶ gomockを使ったテストを実装する DI(Dependency Injection)パターンとは DIパターンはよく「依存性の注入」と言われていて”???”ってなってたけど「依存されるオブジェクトの注入」だと理解しました。このパターンを利用して、依存関係逆転の原則(DIP)を実現することができます。 Go言語でDIの実現方法 依存する実装を定義したinterfaceをつくり、そのinterfaceをstruct(構造体)のフィールドとして持たせます。その構造体に依存することで、DIパターンを実現可能です。 具体的な実装はこのサイトを参考にしました。 ・morikuni blog -GoにおけるDI Clean Architectureについて この説明は多くの方が解説して

    Go言語でClean Architectureを実現して、gomockでテストしてみた - Qiita
  • GoでCRUDアプリをMysql、GORM、Echo、Clean Architectureで作る - Qiita

    目次 Clean Architectureとは Clean Architectureというと、以下の図が大変有名です。 Clean Architectureの目的は関心の分離で、 これを達成するために意識すべきことが各レイヤーの依存性です。 関心の分離によりコードの可読性が向上したり、変化に強い設計になります。 この辺のメリットやClean Architectureの詳細に関しては参考記事に載っていますのでそちら参照ください。 上記の図では、円の外側から内側に向かって矢印が向けられていますが、これが依存の向きで、 外側から内側への依存は可能ですが、内側から外側は不可能です。 言い方を変えると、内側で宣言したモノを外側から呼ぶことはできますが、外側で宣言したモノを内側から呼ぶことはできないという話です。 この記事では依存の向きに注意しながら コードを紹介していきます。 各機能に関して 各機能

    GoでCRUDアプリをMysql、GORM、Echo、Clean Architectureで作る - Qiita
  • Go言語とClean ArchitectureでAPIサーバを構築する - Qiita

    Clean Architectureとは Clean Architecture(クリーンアーキテクチャ)とは,レイヤに内側と外側の関係性を持たせるアーキテクチャである. 「外側のレイヤは内側のレイヤだけに依存する」というルールを守ることによって,アプリケーションから技術を分離することが目的である. アプリケーションから技術を分離すると何が嬉しいのか ここでの「技術」とは,HTTPやcsvMySQLなどのことを意味している. アプリケーションから技術を分離すると,技術を容易に変更できたり,テストコードを書くときに容易にモックできたりする. 例えば,出力をHTTPからcsvに変更したくなったときなどに容易に変更が可能である. 各レイヤの責務 Clean Architectureで提案されているレイヤ構造は以下の画像のようなものである. 内側から,Entitiesレイヤ,Use Casesレイ

    Go言語とClean ArchitectureでAPIサーバを構築する - Qiita
  • 個人開発でクリーンアーキテクチャを導入してみた

    モチベと記事の軽い概要 個人開発でクリーンアーキテクチャを採用してみました。理由としては私の師匠(@yuyaさん(twitter))にクリーンアーキテクチャを勧められて、ボブおじさんことRobert C.Martinの書籍を読みはじめたことがきっかけでした。正直私の読解力では読んだだけでは理解できず、手を動かしてみようと思ったことが大きいです。 対象読者 クリーンアーキテクチャについてはもう知っている方 目次 クリーンアーキテクチャとは(超簡単に) 実際採用してみた感想 Goでの実装例 クリーンアーキテクチャとは 詳しい説明はまた別で書きたいと思います。 関心の分離、疎結合を提供し、より変化に強いソフトウェアを提供することを目指したアーキテクチャです。 個人的には、依存を一方通行に(外から内方向)するというのが一番のミソだと思ってます。 参考にした文献等 クリーンアーキテクチャを採用して

    個人開発でクリーンアーキテクチャを導入してみた
  • クリーンアーキテクチャ完全に理解した

    clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心

    クリーンアーキテクチャ完全に理解した
  • Clean Architectureなにもわからないけど実例を晒して人類に貢献したい - エムスリーテックブログ

    こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 これまでは、中村の記事で宣言した 「医師版Stack Overflow」(12/16に正式名称Docpediaとしてリリースされました) の技術的チャレンジの 記事を続けて書いていたのですが、今回はここで宣言しなかったClean Architectureについて書きます。 浪江駅(なみええき)は、福島県双葉郡浪江町にある、東日旅客鉄道(JR東日)常磐線の駅。文には特に関係ありません。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ) 作者:Robert C.Martin,角 征典,高木 正弘出版社/メーカー: ドワンゴ発売日: 2018/08/01メディア: Kindle版 なぜ書くのか 参考にできる実例を増やしたい Tech Blogはそのままドキュメ

    Clean Architectureなにもわからないけど実例を晒して人類に貢献したい - エムスリーテックブログ
  • 1