技術的なやつ

技術的なやつ

メモ的なアウトプット

気付いたら社会人になっていた。

お仕事ではだいたいC#を書いている。色々と学びを得たのでそろそろアウトプットしていく段階な気がする。
こういうのって月一とかである程度の品質を保証するのと、毎日書くので習慣化を求めるのとどっちが良いのだろう

Dependency Injection

DIとか依存性注入とか言われるやつ。個人的には Context Injection の方が分かりやすい気がする。
あるクラスが別のクラスに依存するとき、クラス内でそれをインスタンス化するんじゃなくて外部から注入する的なテクニックらしい。
今関わっているプロダクトではコンストラクタでcontextを受け取っている。
DIコンテナを使ってるぽくて謎の技術でコンストラクタにインスタンスが渡っている。今の知識レベルでは謎です。

どこ読んでもDIのメリットとして「依存するシングルトンを限定できる」的なことが書かれていないのだけど、そう感じているのは自分だけなのだろうか。
あるいは認識が間違っているのかもしれない。

Observer Pattern

リソースを監視する機構を作り、トリガーが発動したときにリソース側から監視者に通知するデザインパターン
監視者側で処理すべき内容を監視者側で書けるので良いのだが、コードを追うのが大変になる原因でもある気がしている。

Composite Pattern

集合と要素をインターフェースを介して同一視するデザインパターン。クライアントが両者の違いを気にする必要がないときに便利。
集合・要素個別に必要な、クライアントがアクセスする某があったときにインターフェースが肥大化してしまうのが欠点。

マルチスレッド

人間が理解するには早すぎる

その他

コアとなるプロダクトを拡張可能にしてプラグインとして組み込んでもらう方式、密結合云々とかそんな綺麗事よりも「プラグイン側がひどいコードでも知らね〜〜」で通すための生存戦略な気がしてきた