「カプセル化(プログラミング)」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
4行目: | 4行目: | ||
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。 | かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。 | ||
− | 一方、カリフォルニア大学バークレー校の有識者を中心とした「[[インターネット]]を作った人たち」は「[[階層化の有害性]] | + | 一方、カリフォルニア大学バークレー校の有識者を中心とした「[[インターネット]]を作った人たち」は「[[階層化の有害性]]」として「カプセル化は絶対にやめろ」としている。大雑把にいうと、教科書の上では素晴らしく、最初は良くても、将来的な改修の際に隠蔽された[[データ]]にアクセスできないと解決できない問題が出てきて、非常に高確率で[[デスマーチ]]に陥るというのである。医学的にいえば「手術ができない存在」であるといえる。 |
− | |||
− | |||
オブジェクト指向の発案者である[[アラン・ケイ]]も[[コーディング規約]](頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わった[[オブジェクト指向プログラミング言語]]にはどれも「private」などという概念はない。 | オブジェクト指向の発案者である[[アラン・ケイ]]も[[コーディング規約]](頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わった[[オブジェクト指向プログラミング言語]]にはどれも「private」などという概念はない。 | ||
19行目: | 17行目: | ||
[[物理演算エンジン]]に食わせるのにどうしても[[頂点データ]]が必要なのにだ。 | [[物理演算エンジン]]に食わせるのにどうしても[[頂点データ]]が必要なのにだ。 | ||
− | 世界中の誰もが同じ問題で悩んでいるようで[[stackoverflow]] | + | 世界中の誰もが同じ問題で悩んでいるようで[[stackoverflow]]に回避策が書いてあった。頂点データを[[GPU]]に送信後してGetData関数で抜き出すトリッキーな[[コード]]で回避できた。 |
− | しかし、時は流れこの方法では動かない環境が登場した。[[iOS]]や[[Android]]だ。こいつらが採用する[[OpenGL ES]] | + | しかし、時は流れこの方法では動かない環境が登場した。[[iOS]]や[[Android]]だ。こいつらが採用する[[OpenGL ES]]はGPUとの通信が一方通行だ。 |
− | + | そこで事前に3Dモデルから頂点データを抜き出し別[[ファイル]]に保存しておくという一段とトリッキーな方法で回避する。みごと1モデルのファイルが2個になりました。そして謎の不具合が発生。連日連夜のデバッグ作業。原因は片方のファイルの更新を忘れていただけでした。 | |
カプセル化は恐ろしいね!! | カプセル化は恐ろしいね!! |