2019-06-30study
今日の勉強時間: 1h + 3.5h 11/200 = 5.5%
8. Abstract Factory
9. Bridge
- すごい!やっぱ委譲だよ
10. Strategy
2019-07-02 22:24
ぶっちゃけ飽きてきた。デザインパターンでキモになりそうなBridgeとStrategyを見たしだいたいいい感じなんじゃないのと思ってきている。 流し読みして気になったものを拾っていくのでよさそう。 読んで理解できなかったら写経する。
2019-06-29study
今日の勉強時間: 5h 6.5/200 = 3.25% まだまだこれから。
4. Factory Method
- 問題3-4
- AbstractClass役にインターフェースを使うことはできない。
- 処理の設計図を"実装"しなきゃいけないから…
- なるほど。
5. Singleton
- 問題5-2
- 個数を制限する
- リソースが制限されているときに役に立つのかな
6. Prototype
- 不思議である
- 関係ないクラスが生成しているように見える
- 子供を産むクラスというとそれっぽい
- クラスからのインスタンス生成が難しい場合に向いていると
7. Builder
- 使いどころが難しそう
- 設計がかっちり固まっていないと難しい
- 綺麗にはなるけど
- 後からの仕様追加に弱い、というか使い方のわかりやすさがなくなる
8. Abstract Factory
- いいぞいいぞ、これぞパターン
- 作る人と作られるものの両方を抽象化している
- このどちらもがabstractなのが設計の妙だと思う
- 作られるものを増やすのは難しいと言及があった。確かに各工場を変更せねばならない。
- 部品の設計に各工場も関与できるのは柔軟だと思う。
2019-06-29study
今日の勉強時間: 1h 1.5/200 = 0.75%
第1部 デザインパターンに慣れる
- [x] 1. Iterator
- [x] 2. Adapter
第2部 サブクラスにまかせる
- [ ] 3. Template Method
勉強時間はまだまだ長い道のり。
昔4章くらい写経していたのが残っててはかどった。 Iterator、Adapterの練習問題をやった。 Template Methodは以前の写経を実行したくらい。 章末問題が残件。
Iterator、Adapterはふーんそうだよね、といった感触だが、 Template Methodまでいくと、ああすげー頭いいなって感じてくる。 スーパークラスで処理の設計図を作り、サブクラスで詳細を実装するの賢い。 あーこれが理想的な継承の使い方だなって感じる。 多分、サブクラスに任せるよりコンポジションにより別クラスに機能を委譲する方が 綺麗なんじゃないかなって思う。 とはいえこういった例もおいおい出てくるでしょう。 今はおとなしく写経しておきます。
写経してた分はそのまま進めるとして、この後の章は悩みどころ。 C++のためのAPIデザインを読書中なので、この本にあるパターンを学びたいところもある。
- 作者: マーティン・レディ
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2013/11/15
- メディア: Kindle版
- この商品を含むブログを見る
2019-06-24study
なにはなくともデザインパターンを勉強する。 結城浩先生の本をなぞります。 とりあえず進捗表だけ作った。 章末問題はなるべく解きたい。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06/19
- メディア: 大型本
- 購入: 51人 クリック: 762回
- この商品を含むブログ (397件) を見る
今日の勉強時間: 0.5h 0.5/200 = 0.25% 目標が200時間なのだ。
デザインパターン
第1部 デザインパターンに慣れる
- [ ] 1. Iterator
- [ ] 2. Adapter
第2部 サブクラスにまかせる
- [ ] 3. Template Method
- [ ] 4. Factory Method
第3部 インスタンスを作る
- [ ] 5. Singleton
- [ ] 6. Prototype
- [ ] 7. Builder
- [ ] 8. Abstract Factory
第4部 分けて考える
- [ ] 9. Bridge
- [ ] 10. Strategy
第5部 同一視
- [ ] 11. Composite
- [ ] 12. Decorator
第6部 構造を渡り歩く
- [ ] 13. Visitor
- [ ] 14. Chain of Responsibility
第7部 シンプルにする
- [ ] 15. Facade
- [ ] 16. Mediator
第8部 状態を管理する
- [ ] 17. Observer
- [ ] 18. Memento
- [ ] 19. Strategy
第9部 無駄をなくす
- [ ] 20. Flyweight
- [ ] 21. Proxy
第10部 クラスで表現する
- [ ] 22. Command
- [ ] 23. Interpreter
■
人に傷つけられることを恐れている。なぜか。
いつも誰かを傷つけているからだ。
悪意をもっているからだ。
何か失敗をしてしまったとき、自分だったらこう責めるというのがありありと思い浮かぶ。
その攻撃で自分をいじめている。
このスパイラルを止めるには、攻撃をやめればよいのだろうか。
つまり、他人を許すこと。もちろん、自分も許すこと。
自分は弱い。その弱さを隠すために、常に周囲に気を配っている。
常に緊張している。
これもやめたい。
自分が受け入れられない悪意は他人にも与えるべきではない。
与えようとしている悪意がそのまま自分に降りかかってくる。
思い出したかのように
久しぶりにこの鬱っぽいブログを眺めた。うん、鬱っぽいなあ。
こいつを…今後どうしていこうかと思っている。
何を書いていこう?
技術ブログ?学習日記?そんなにがんばる?
人に見られることを意識しちゃうと書く内容が変わっちゃう気がする。
それはあんまり好きじゃない。
いや、それは自分が望む人物像に自分を当てはめる行為かもしれない。それはつまらないから、だめだな。
不安を感じるとき
不安を感じるのはいつか
ゴールがわからないとき
進みがないとき
進んでいることを確かめるには
作業を細分化する
完了しないと達成感がないと考えない
達成に導くのは論理
筋道を通す