2018-12-01から1ヶ月間の記事一覧

A Philosophy of Software Design の論点メモと感想

本記事は書籍「A Philosophy of Software Design」の論点をまとめたメモです。内容の詳細や結論までは含みません。論点について興味ある方は是非書籍をお読みください。英語ですが170ページほどで比較的読みやすい文体で書かれています。 A Philosophy of So…

配列に対してContains()を呼ぶとIEquatable.Equals()が使われない

C#

Enumerable.Contains<T>()の実装は以下のようになっていて、sourceがICollection<T>を実装していたらICollection<T>.Contains()が呼ばれ、実装していなかったらEqualityComparer<TSource>.Defaultで比較される。EqualityComparer<TSource>.Defaultはsourceの要素がIEquatable<T>を実装して</t></tsource></tsource></t></t></t>…

IEquatable完全に理解した

C#

qiita.com Advent Calendar初参加でした。 公式のガイドラインもEffective C#もなんか怪しいし分かりにくいのが悪いんです。完全に理解するための記事を書こうと思って書き出したら、やっぱり出てくる自分がきちんと理解できていない部分。文章にまとめるの…

「集約の境界と整合性の維持の仕方に悩んで2ヶ月ぐらい結論を出せていない話」の感想

kbigwheel.hateblo.jp こちらの記事の感想。 私の感覚では以下のような構造になって、整合性境界とか気にするような話ではないように思えてよくわからない。リポジトリに永続化に関わらないビジネスロジック持たせるのは変だし、説明を読む限り組織がユーザ…