#author("2024-04-18T08:51:47+09:00","default:irrp","irrp")
#author("2024-05-02T17:30:03+09:00","default:irrp","irrp")
→上流工程一般

→基本設計

→詳細設計



#contents

----
-一般的にアーキテクチャとは、設計時の大きな方向性や方針を意味する。
-要件は実現しようとする機能の内容に重点を置くが、アーキテクチャは機能の実現方式や配置、機能間の連動方式などの一段メタな観点から設計内容を整理する。
-アーキテクチャ選定は基本設計で行うものかというと必ずしもそうではなく、基本設計レベルのアーキテクチャと詳細設計レベルのアーキテクチャとで、それぞれ存在する。
--例えばオブジェクト指向やドメイン駆動設計はアーキテクチャの一種とも言えるが、基本設計というよりは詳細設計時に使う


*サブトピック [#o58be161]
-オブジェクト指向


*一般 [#a41241ee]
-[[「DI」と仲良くなる - Speaker Deck>https://speakerdeck.com/myamagishi/di-tozhong-liang-kunaru]] 2024.1
--依存性注入ではなく依存性の逆転

-[[流行りのBFFアーキテクチャとは?|Offers Tech Blog>https://zenn.dev/overflow_offers/articles/20220418-what-is-bff-architecture]] 2023

-[[設計・ソフトウェアアーキテクチャを学べるGitHubリポジトリ 16選>https://zenn.dev/nameless_sn/articles/16_awesome_repos_for_system-design]] 2023.9

-[[ソフトウェアアーキテクチャ入門>https://zenn.dev/nameless_sn/articles/architecture_tutorial]] 2023.9
--層状アーキテクチャ
--イベント駆動アーキテクチャ
--マイクロカーネルアーキテクチャ
--マイクロサービスアーキテクチャ
--モノリシックアーキテクチャ
--MVCアーキテクチャ

-[[変更に強いアーキテクチャについてIT業界19年目の僕が超ザックリ説明する - Qiita>https://qiita.com/lobin-z0x50/items/39131a4f47ed7c5df443]] 2023.8

-[[これから学ぶ人のための ソフトウェアアーキテクチャ入門: Software architecture is a tool to enhance our humanity - Speaker Deck>https://speakerdeck.com/snoozer05/20230727-software-architecture-is-a-tool-to-enhance-our-humanity]] 2023.7

-[[良いITアーキテクチャと良いミドルウェアの息は長い - Qiita>https://qiita.com/masumiy/items/710998ad85da99e6b0b3]] 2023.4

-[[本当は怖い、逆コンウェイ戦略 | フューチャー技術ブログ>https://future-architect.github.io/articles/20230310a/]] 2023.3
--逆コンウェイ戦略とは、システムアーキテクチャが組織の構造を反映する、という経験則(コンウェイの法則)を逆手にとる手法

-[[どうしてスタートアップのソフトウェア設計はいつもいつもブッ壊れてるんですかぁ? - タオルケット体操>https://hachibeechan.hateblo.jp/entry/so-it-is-looks-screwed-up]] 2023.3

-[[ 【書籍】ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ>https://amzn.to/3kwAcyG]]

-[[ソフトウェアアーキテクトに必要なシステム設計知識を学んだ17冊 - yoshikipom Tech Blog>https://tech-yoshikipom.hatenablog.com/entry/2023/01/24/220503]] 2023.1

-[[「ソフトウェアアーキテクチャの基礎」本はアーキテクトが読むべき本だった: プログラマの思索>https://forza.cocolog-nifty.com/blog/2022/09/post-808092.html]] 2022.9

-[[SOLIDを代替する設計原則、CUPIDについて - Qiita>https://qiita.com/devneko/items/b9d8c734099f5e2b510c]] 2022.9

-[[The Software Architecture Chronicles – @hgraca>https://herbertograca.com/2017/07/03/the-software-architecture-chronicles/]] 2017
--[[DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together – @hgraca>https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/]] 2017

-[[アーキテクチャと設計は全然違う⋯ただしあなたの想像する”違い”とは多分全然違う【輪読会発表紹介】 - エムスリーテックブログ>https://www.m3tech.blog/entry/software-architecture-chap2]] 2022.6

-[[「ソフトウェアアーキテクチャの基礎」を読んだので、その要点 - Qiita>https://qiita.com/e99h2121/items/1844f5ed8da453a6dfb0]] 2022.3

-[[アーキテクチャに関してのありがちなギモンに答えていく - Qiita>https://qiita.com/SDTakeuchi/items/14b0a227f1bf30c71f66]] 2022.2

-[[DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien>https://digitalsoul.hatenadiary.org/entry/20100131/1264925022]] 2010

-[[ソフトウェアアーキテクチャの歴史>https://scrapbox.io/tasuwo/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%81%AE%E6%AD%B4%E5%8F%B2]] 2019.7
--GUI アーキテクチャの話.MVC, MVVM,

-[[ソフトウェアアーキテクトが知るべき97のこと>https://ソフトウェアアーキテクトが知るべき97のこと.com/]]


*ADR [#wfdcb2c6]
-[[ADRを一年運用してみた/adr_after_a_year - Speaker Deck>https://speakerdeck.com/hanhan1978/adr-after-a-year]] 2024.4

-[[日々の意思決定の積み重ねを記録するアーキテクチャ・デシジョン・レコード / Architectural Decision Records - Speaker Deck>https://speakerdeck.com/highwide/architectural-decision-records]] 2023.7
--ADR

-[[アーキテクチャの「なぜ?」を記録する!ADRってなんぞや? - Qiita>https://qiita.com/fuubit/items/dbb22435202acbe48849]] 2019
--[[Architectural Decision Records | adr.github.io>https://adr.github.io/]]




*ドメイン駆動設計(DDD) [#g512ff02]
-[[DDDでレガシーコードに立ち向かうリアル / Reality of confronting legacy code with DDD - Speaker Deck>https://speakerdeck.com/codmoninc/reality-of-confronting-legacy-code-with-ddd]] 2024.4

-[[DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁 - Speaker Deck>https://speakerdeck.com/pospome/liang-ikodonoding-yi-toshe-ji-neng-li-nobi]] 2024.3

-[[「ユビキタス言語」とは? - ドメイン駆動設計の用語の理解を試みる #DDD - Qiita>https://qiita.com/moromi25/items/d993700b732a7baa1c57]] 2024.3

-[[DDD入門:コーディング編>https://zenn.dev/cloud_ace/articles/bdbd4c1423e221]] 2023.12

-[[DDD(ドメイン駆動設計)の概要をまとめてみた>https://zenn.dev/arsaga/articles/e095eb6574fcca]] 2023.12

-[[単純でないイニシャライザにはファクトリを #iOS - Qiita>https://qiita.com/Se1getsu/items/b6421b3080177869c4f6]] 2023.11

-[[ドメイン駆動設計の正体>https://zenn.dev/backstage/articles/8e7a574d8c26a1]] 2023.10
--歴史的経緯を踏まえるべきという話

-[[DDDでの要件定義〜実装までの流れについて解説します>https://zenn.dev/ncdc/articles/809768cf51fecb]] 2023.10

-[[ドメイン駆動設計は何を解決する手法なのか - stmn tech blog>https://tech.stmn.co.jp/entry/2023/09/27/115301]] 2023.9

-[[たのしいドメイン駆動設計: 序 / Enjoy domain driven design : ZYO - Speaker Deck>https://speakerdeck.com/jpt_corp_official/enjoy-domain-driven-design-zyo]] 2023.9

-[[ドメイン駆動設計入門を読んで 前半 - nextbeat-engineering - Medium>https://medium.com/nextbeat-engineering/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80%E3%82%92%E8%AA%AD%E3%82%93%E3%81%A7-%E5%89%8D%E5%8D%8A-4835fb4da703]] 2023.9

-[[ざっくりDDD・クリーンアーキテクチャにおける各層の責務を理解したい?(ドメイン層・ユースケース層編) - Qiita>https://qiita.com/kotobuki5991/items/22712c7d761c659a784f]] 2023.8

-[[ふわっと理解するDDD ~ドメイン駆動設計~ - Qiita>https://qiita.com/yu-saito-ceres/items/f73262cedcdd6e8e75c8]] 2023.8

-[[[速習] ドメイン駆動設計 最新 GPT-4 32kを使用した設計手法について - Qiita>https://qiita.com/ShigemoriMasato/items/73d25705f7db1b692047]] 2023.8

-[[ドメイン駆動設計(DDD)・オニオンアーキテクチャとは? - Qiita>https://qiita.com/k_yamaki/items/bf99d3bf64a84258a3a1]] 2023.7

-[[DDDでプロダクト開発をしたので振り返ってみた - JMDC TECH BLOG>https://techblog.jmdc.co.jp/entry/2023/06/26/110000]] 2023.6

-[[ドメイン駆動設計(DDD)を整理>https://zenn.dev/sutamac/articles/7e864fb9e30d70]] 2023.5

-[[しょぼちむのエヴァンス本のススメ / syobochim read Evans Book - Speaker Deck>https://speakerdeck.com/syobochim/syobochim-read-evans-book]] 2023.2

-[[最近の海外DDDセミナーを聞いてみたら色々と常識が破壊された - Qiita>https://qiita.com/dairappa/items/fd136a98cab98c517673]] 2022.2

-[[[DDD]ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か - Qiita>https://qiita.com/little_hand_s/items/ebb4284afeea0e8cc752]] 2017.10

-[[DDD本を読むためには前提知識が非常に多いよ - Qiita>https://qiita.com/na-777/items/d5877e68697ef13ac373]] 2022.11

-[[[ 技術講座 ] Domain-Driven Designのエッセンス -目次-|オブジェクトの広場>https://www.ogis-ri.co.jp/otc/hiroba/technical/DDDEssence/index.html]] 2022.9

-[[戦術的DDDをGoで実現する【Value Object編】 - Yappli Tech Blog>https://tech.yappli.io/entry/2022/08/19/%E6%88%A6%E8%A1%93%E7%9A%84DDD%E3%82%92Go%E3%81%A7%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B%E3%80%90Value_Object%E7%B7%A8%E3%80%91]] 2022.8

-[[オブジェクトストレージ開発におけるDDD (ドメイン駆動設計) | さくらのナレッジ>https://knowledge.sakura.ad.jp/32024/]] 2022.8

-[[ドメイン駆動設計とは何なのか? ユーザーの業務知識をコードで表現する開発手法について:CodeZine(コードジン)>https://codezine.jp/article/detail/11968]] 2020

-[[良い設計と悪い設計の違い - Speaker Deck>https://speakerdeck.com/masuda220/good-or-bad-that-is-a-question]] 2022.11

-[[設計の考え方とやり方 - Speaker Deck>https://speakerdeck.com/masuda220/she-ji-falsekao-efang-toyarifang]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし1 「良い設計を目指す」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/22/093324]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし2 「設計スタイルの選択とクラス設計のスタイル」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/23/092602]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし3 「テーブル設計のスタイル」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/24/084632]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし4 「開発のやり方と設計スキルと補足資料」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/25/103211]] 2022.8
--[[増田亨さんによる「設計の考え方とやり方」勉強会 書き起こし5 「質疑応答」 - asken テックブログ>https://tech.asken.inc/entry/2022/08/26/090657]] 2022.8

-[[わかりやすくて最高だった「ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本」レビュー | DevelopersIO>https://dev.classmethod.jp/articles/review-of-ddd-beginners-book/]] 2022.7

-[[DDDをざっくり理解してみる? 〜ドメインサービスとリポジトリ編〜 - Qiita>https://qiita.com/2san/items/b52c0828e1fec03ebed1]] 2022.7
-[[DDDをざっくり理解してみる? 〜エンティティと値オブジェクト編〜 - Qiita>https://qiita.com/2san/items/eb9d7df6961542069233]] 2022.6
-[[値オブジェクトの魅力 〜 プリミティブ型を濫用しないで #iOS - Qiita>https://qiita.com/Se1getsu/items/4654b38886b468ea3756]] 2023.10

-[[初めて現場でDDD(ドメイン駆動設計)を実践してみた|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/n1e91c68b1473]] 2022.6

-[[既存プロダクトへのドメイン駆動設計の導入検討について - クラウドワークス エンジニアブログ>https://engineer.crowdworks.jp/entry/2022/06/10/160237#%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E3%81%A8%E3%81%AF]] 2022.6
-[[ドメイン駆動設計の源流のPofEAAを読んでみる | フューチャー技術ブログ>https://future-architect.github.io/articles/20220610a/]] 2022.6
-[[DDD(Domain-Driven Design>http://www.wikihouse.com/withoutEJB/index.php?DDD]]
-[[「エリック・エヴァンスのドメイン駆動設計」を自分でも一読したので、その要点 - Qiita>https://qiita.com/e99h2121/items/48351c7d47d4288d87ea]] 2022.4

-ドメイン駆動設計の特徴
--ドメインに精通した専門家を中心に開発する。ドメインに精通した専門家やドメインエキスパートと共に、そのドメインに関する知識を明確にし、それを元に開発することで、ビジネスニーズに適切に対応することができる。
--ドメインモデルを中心とした設計。ドメインに関する知識を抽象化し、ドメインモデルとして表現し、それを中心として設計・開発をすることで、ドメインに対して正確な表現ができる。
--インフラストラクチャやインフラに対しては後回しにする 。
--アジャイル開発に則った開発手法 。ドメインに対する知識は常に変化しているため、アジャイル開発に則り、イテレーションを重ねて開発し、順次改善をする




* クリーンアーキテクチャ [#b9c3c60d]
-クリーンアーキテクチャはある意味、いろんな定義や説明があって訳が分からなくなったオブジェクト指向設計を、あらためて仕切り直して整理しなおしたものと言ってもよい。

-[[クリーンアーキテクチャを説明するときに使う例え話 #CleanArchitecture - Qiita>https://qiita.com/Sicut_study/items/d59a362176a8412458fb]] 2024.5

-[[世界一わかりやすいClean Architecture - nuits.jp blog>https://www.nuits.jp/entry/easiest-clean-architecture-2019-09]] 2024.1

-[[クリーンアーキテクチャの功罪>https://zenn.dev/adwd/articles/5d4a89262f4fc5]] 2023.12

-[[サーバーサイドのクリーンアーキテクチャを考える - GMOインターネットグループ グループ研究開発本部(次世代システム研究室)>https://recruit.gmo.jp/engineer/jisedai/blog/crean_architecture_server_side/]] 2023.4

-[[クリーンアーキテクチャで構築したプロダクトが2年経過してみて現状どうなっているかを紹介 - LIFULL Creators Blog>https://www.lifull.blog/entry/2023/03/16/170000]] 2023.3

-[[Hexagonal Architecture and Clean Architecture (with examples) - DEV Community>https://dev.to/dyarleniber/hexagonal-architecture-and-clean-architecture-with-examples-48oi]] 2022.8

-[[PythonでLayered ArchitectureとClean Architectureを使ってカレーと肉じゃがを作ってみた - Qiita>https://qiita.com/c0ridrew/items/41f0566b676d8092a9fb]] 2022.7

-[[「Clean Architecture」を読んだので、その要点 - Qiita>https://qiita.com/e99h2121/items/6cd719b6b871d1c3d03b]] 2022.2

-[[最速でアプリケーションアーキテクチャの答えであるクリーンアーキテクチャを理解する - Qiita>https://qiita.com/izzonn/items/c06492a3e4bdc58b4ca8]] 2021.12

-[[Clean Architecture の勘所は『鎖国』だ。>https://qiita.com/t2-kob/items/02a76572693130c9a66e]] 2021.8

-[[クリーンアーキテクチャをミニマルで実装可能な形にした Simple Clean Architecture という考え方>https://qiita.com/genki-sano/items/4538383c7b52ba19ebe6]] 2021.6

-[[実装クリーンアーキテクチャ>https://qiita.com/nrslib/items/a5f902c4defc83bd46b8]] 2020.5

-[[【書籍】Clean Architecture 達人に学ぶソフトウェアの構造と設計>https://amzn.to/3Yd5o49]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS