鳩舎

レースしない

DCI

Object Design Rough Talks #1

Object Design Rough Talks というイベントを開催して、Points of View という内容で話ました。 いろんな意味で面白いイベントだったので、詳細なまとめはまたこんど。

『DCI なんて面倒なだけで Service 使えばいい』への返答

DCI

NOTE: 最下部に追記があります。 よく言われる話として、 DCI なんて実装が面倒な上に夢の実装の話をしており、現実解としては Service クラスを用いて実装すればシンプルな実装になるのだから、そういったものは必要ないのだ、というご意見への返答です。 …

extend / unextend を使った際の問題

DCI

uninclude を使って DCI をやるとして、現実的なのかという話になってくるのだけど、これがまた曲者だなぁと思っていたり。 コード的な可読性とかは一旦置いといて、速度はどうなのってことだけとりあえず考えた。 現状、 extend 及び unextend はそれを実行…

uninclude gem v1.0.0

DCI

uninclude という gem を公開しました。 初めての C 拡張 gem でドキドキしています。 uninclude はその名の通り、 Module#include をなかったことにするための gem です。Module#include は Module#uninclude で取り消し、Object#extend も Object#unextend…

DCI で Decorator pattern 使っちゃダメなんですか

DCI

この前 DCI meetup というイベントに参加して、英語が聞き取れず完全撃沈したのだが、その時にコープさんが ラッパーオブジェクトで包んではイカンよ! みたいなことを言ってた気がしたので、なんでだろなーと思って考えてた。 理屈としては、『ロールが与え…

#extend が遅い問題

DCI

ここで「#extend 遅い!DCI 狂ってる!」というような話があった。 DCI の例でよく出てくる Object#extend でメソッドを呼び出すとすげー遅いね、どうすんのこれという話で、じゃあまぁ妥当にモデルにいろんなものを include したほうがいいんじゃねという話…

DCI の話をした

DCI

超重要追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Taka…

DCI を考える #2

DCI

追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Takai (@ta…

DCI を考える

DCI

追記 まじで鳩さんのスライドでDCIについて理解したつもりになるの危険だからやめた方がいいです。せめて d.hatena.ne.jp/digitalsoul/20… を読みましょう。DCIはエンドユーザのメンタルモデルを実装に落とし込むための設計パラダイムです— Naoto Takai (@ta…