Skip to content

Latest commit

 

History

History

prototype

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Prototype

あらかじめ用意しておいた「原型」からインスタンスを生成するようにするためのパターン

メリット

  • 原型となるオブジェクトを生成するのにコストがかかったり、複雑な場合、隠蔽できる
  • オブジェクトの型を知らなくても新しいオブジェクトを取得できる

デメリット

  • オブジェクトのコピーを生成することが複雑だったりする

例題

  • OSファイルシステム
  • フォルダにはファイルとフォルダが含まれ、ファイルやフォルダが含まれる
  • 各ファイルとフォルダーは、inodeインターフェイスで表すことができる
  • inodeインターフェースにもclone機能がある
  • fileとfolder構造体はどちらもタイプ
  • printとclone関数のinode typeを実装