2024-04-26から1日間の記事一覧

名前空間の設計方法【リファクタリング入門5】

名前空間を整備する まず、モノシリックアプリケーションの分解では、その足掛かりとして目指すべきアーキテクチャはサービスベースアーキテクチャである。 コンポーネントドメインを作成することは、サービスベースアーキテクチャへの移行を手助けする。 コ…

依存関係を明らかにする【リファクタリング入門4】

モノシリックなアプリケーションを分散アーキテクチャに移行する際には次の3つの質問に答えられる様にしておく必要がある。 既存のアプリケーションは分解可能なのか? 必要なのはコードの書き直しなのか?それともリファクタリングなのか? 移行にかかる費…

コンポーネントのフラット化とは何か?【リファクタリング入門3】

コンポーネントの継承のデメリット 例えば、次の二つの名前空間があるとする survey(クラス含む:アンケートの通知やアンケートの作成を行う) survey.templates(クラス含む:アンケートのテンプレートを含む) この二つは、明らかに親子関係が存在する。 …

ソースコードの共通部品を抜き出す【リファクタリング入門2】

ソースコードの再利用性を高める 前回までの内容 minegishirei.hatenablog.com 前回までの内容で、コンポーネントの機能を増減させて適切なサイズにウェイト調節しました。 今回は、共通のサービスを特定・統合することで、ソースコードの再利用性を高める。…

大規模なリファクタリングを行う2通りの方法【リファクタリング入門】

この記事の内容 アーキテクチャスタイルに幾つかのケースがあるのと同じように、 リファクタリングの手法にも明確な6段階の手順が存在します。 今回の記事の目的はリファクタリングを行う2通りの方法について説明します。 大規模なリファクタリングを行う前…

なぜリファクタリングするべきなのか?

この記事について アーキテクチャのモジュール化・リファクタリングのメリット そもそもシステムは常に変化するものである リファクタリングが必要となる具体例 1.システムのパフォーマンスを改善するためにリファクタリングを行う 2.アジャイルなビジネスに…

マイクロサービスアーキテクチャとは

なぜマイクロサービスアーキテクチャなのか? 再利用か分離か 再利用のメリットとデメリット 分離のメリット 強制的に分離する手段 マイクロサービスアーキテクチャの概要 マイクロサービスアーキテクチャの構成要素 マイクロサービスアーキテクチャのサイド…

スペースベースアーキテクチャ

スペースベースアーキテクチャが解決する課題 スペースベースアーキテクチャの概要 スペースベースアーキテクチャの構成要素 スペースベースアーキテクチャの処理ユニット アプリケーションコード インメモリデータグリッドとレプリケーションエンジン サン…

イベント駆動アーキテクチャ ブローカータイプ /メディエータータイプ

イベント駆動アーキテクチャ - ブローカータイプ - イベント駆動アーキテクチャのブローカータイプの実装方法 ブローカータイプの構造 ブローカータイプのメリット ブローカータイプの開発事例例 イベント駆動アーキテクチャ メディエイターパターンとは イ…

サービスベースアーキテクチャとは

サービスベースアーキテクチャとは サービスベースアーキテクチャは、マイクロサービスアーキテクチャの要素もある、分散型のアーキテクチャだ。 しかし、マイクロサービスやイベント駆動のタイプに見受けられる複雑さやコストがなく、多くのビジネスアプリ…

レイヤードアーキテクチャとは?

レイヤードアーキテクチャは、n層アーキテクチャとも呼ばれており、最も一般的なアーキテクチャのうちの一つだ。このアーキテクチャはシンプルさや親やすさ、コストの低さからほとんどのアプリケーションのスタンダードの形となっている。 minegishirei.hate…

パイプラインアーキテクチャとは

パイプラインアーキテクチャとは 概要 パイプ フィルター パイプラインアーキテクチャの威力 具体例1:関数型 具体例2:Apache kafka パイプラインアーキテクチャのメリット デメリット 備考 パイプラインアーキテクチャとは ソフトウェアの歴史の中で繰り返し…