2019-06-30study

今日の勉強時間: 1h + 3.5h 11/200 = 5.5%

8. Abstract Factory

9. Bridge

  • すごい!やっぱ委譲だよ

10. Strategy

  • ついにきた
  • かなり汎用的。そのため適用範囲が広い。
  • アルゴリズムの丸々差し替えなども可能
  • StrategyやBridgeはオブジェクト指向のこころも併せて復習したい

あと微分積分の勉強をした。

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
    • 個数を制限する
    • リソースが制限されているときに役に立つのかな

C++ APIデザイン読んだ C++は心して挑まねばならぬ

6. Prototype

  • 不思議である
  • 関係ないクラスが生成しているように見える
  • 子供を産むクラスというとそれっぽい
  • クラスからのインスタンス生成が難しい場合に向いていると

7. Builder

  • 使いどころが難しそう
  • 設計がかっちり固まっていないと難しい
  • 綺麗にはなるけど
  • 後からの仕様追加に弱い、というか使い方のわかりやすさがなくなる

8. Abstract Factory

  • いいぞいいぞ、これぞパターン
  • 作る人と作られるものの両方を抽象化している
  • このどちらもがabstractなのが設計の妙だと思う
  • 作られるものを増やすのは難しいと言及があった。確かに各工場を変更せねばならない。
  • 部品の設計に各工場も関与できるのは柔軟だと思う。

2019-06-29study

今日の勉強時間: 1h 1.5/200 = 0.75%

第1部 デザインパターンに慣れる

第2部 サブクラスにまかせる

  • [ ] 3. Template Method

勉強時間はまだまだ長い道のり。

昔4章くらい写経していたのが残っててはかどった。 Iterator、Adapterの練習問題をやった。 Template Methodは以前の写経を実行したくらい。 章末問題が残件。

Iterator、Adapterはふーんそうだよね、といった感触だが、 Template Methodまでいくと、ああすげー頭いいなって感じてくる。 スーパークラスで処理の設計図を作り、サブクラスで詳細を実装するの賢い。 あーこれが理想的な継承の使い方だなって感じる。 多分、サブクラスに任せるよりコンポジションにより別クラスに機能を委譲する方が 綺麗なんじゃないかなって思う。 とはいえこういった例もおいおい出てくるでしょう。 今はおとなしく写経しておきます。

写経してた分はそのまま進めるとして、この後の章は悩みどころ。 C++のためのAPIデザインを読書中なので、この本にあるパターンを学びたいところもある。

C++のためのAPIデザイン

C++のためのAPIデザイン

2019-06-24study

なにはなくともデザインパターンを勉強する。 結城浩先生の本をなぞります。 とりあえず進捗表だけ作った。 章末問題はなるべく解きたい。

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

今日の勉強時間: 0.5h 0.5/200 = 0.25% 目標が200時間なのだ。

デザインパターン

第1部 デザインパターンに慣れる

第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部 無駄をなくす

第10部 クラスで表現する

人に傷つけられることを恐れている。なぜか。
いつも誰かを傷つけているからだ。
悪意をもっているからだ。
何か失敗をしてしまったとき、自分だったらこう責めるというのがありありと思い浮かぶ。
その攻撃で自分をいじめている。

このスパイラルを止めるには、攻撃をやめればよいのだろうか。
つまり、他人を許すこと。もちろん、自分も許すこと。


自分は弱い。その弱さを隠すために、常に周囲に気を配っている。
常に緊張している。
これもやめたい。

自分が受け入れられない悪意は他人にも与えるべきではない。
与えようとしている悪意がそのまま自分に降りかかってくる。

思い出したかのように

久しぶりにこの鬱っぽいブログを眺めた。うん、鬱っぽいなあ。
こいつを…今後どうしていこうかと思っている。
何を書いていこう?
技術ブログ?学習日記?そんなにがんばる?

人に見られることを意識しちゃうと書く内容が変わっちゃう気がする。
それはあんまり好きじゃない。
いや、それは自分が望む人物像に自分を当てはめる行為かもしれない。それはつまらないから、だめだな。