-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第12章 設計とメタファー #16
第12章 設計とメタファー #16
Conversation
未解決項目を新規リストに転機していく。 |
TODO
|
シンプルな足し算のテストを書く。 |
落ちる。
|
|
これを目指していく。 |
一旦新しく作る作戦かな。 |
そうそう、この「こう気づく」ってのはどうすればいいのか。やっぱり経験値なのかなぁ。 |
はい。 |
Imposter(なりすまし)パターンを用いていく。Expressionクラスを定義する。 それらの経緯は以下。
こういう設計にする。 設計判断をしている。
設計を決定づけるものではなく、方向性を決めるには十分。 |
Expressionをinterfaceとして定義する。 |
コンパイルは落ちる。
|
Expressionをincludeした。 interface的な役割をもたせたいなら、abstractメソッドをExpressionに持たせればいい。 こんな感じ。 module MoneyPackage
module Expression
abstract def hoge
end
end こうすれば、
といった感じでコンパイル時に落ちてくれる。 良い。 |
コンパイルが通って、テストが落ちる。
|
振り返り。
|
「どうやって設計するのかな」と疑問だったが、なんとなく妥当な理由が書いてあってokだと思う。 |
12章終了。 |
TODO
|
TODO
$5 * 2 = $10amountをprivateにするDollarの副作用どうする?equals5CHF*2=10CHFequalsの一般化timesの一般化FrancとDollarを比較する通貨の概念testFrancMultiplicationを削除する?