Programming Methodology 22〜24

三回分の講義を視聴しました。断片的なメモしか残すことができませんでしたが、それをメモしておきます。

第二十二回目は、GUIの続きということで、コンテナというコンポーネントを使って、GUIの要素を再帰的に表現する方法について述べられていました。

  • container/component(GUIの続き)
  • HashMap
    • HashMap inventory = new HashMap;
    • inventory.put(album.getName, album);
    • Album album = inventory.get("albumName");


第二十三回目は、助手の先生による探索やソートに関するお話でした。

  • Searching
    • Linear Search
      • takes a lot of time
    • Binary Search
      • ソート済みの配列で使う
  • Sorting


第二十四回目は、データ構造の作り方ということで、何をクラスやメソッドにするべきか、オブジェクト同士の関連をどのように扱うのかということに触れられていました。

  • data structure
    • principles
      • nouns -> classes
      • verbs -> methods
      • unique identifier
    • design
      • collection of objects
    • AlbumとSongの関連性
      • Songが様々Albumが保持する可能性あり
      • 一つのSongのオブジェクトは一つしか生成しない
      • Albumオブジェクトがそれを参照する
      • deepCopy/shallowCopy