yujiro's blog

エンジニアリング全般の事書きます

2020-01-01から1年間の記事一覧

DDD - 仕様パターンの紹介

DDD には仕様パターンというものが存在する。 仕様パターンは、 バリデーションなどの評価処理 リポジトリと組み合わせたフィルタリング機能 この2つに使われる事が多い。

DTO を用意してドメインオブジェクトの流出を防ぐ

先月発売された「ドメイン駆動設計入門」を読んでいる。 www.shoeisha.co.jp ドメイン駆動設計においては、ドメインオブジェクトを利用するのはアプリケーションサービスに留めるべきで、それより外の世界にドメインオブジェクトを流出させるべきではない、…

オープン・クローズドの原則(OCP)について

Robert C. Martin のCleanArchitecture にはSOLID原則について記載があるが、どの原則もアーキテクチャの観点から論じられている。 「単一責任の原則(SRP)」をコンポーネント向けに言い換えたものが「閉鎖性共通の原則(CCP)」にあたり 「インターフェー…

CleanArchitecture - 「コンポーネントの凝集性」についてまとめる

CleanArchitecture 第13章「コンポーネントの凝集性」を簡単にまとめる。 コンポーネントとは CleanArchitecture に簡潔に記載されているので、そのまま引用する。 コンポーネントとは、デプロイの単位のことである。システムの一部としてデプロイできる、最…

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSSingleObjectArrayI objectAtIndex:]: index 18446744073709551615 beyond bounds [0 .. 0]'

先日、iOSアプリのクラッシュログで以下が発見された Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSSingleObjectArrayI objectAtIndex:]: index 18446744073709551615 beyond bounds [0 .. 0]'