レス書き込み
スレへ戻る
写
レス栞
レス消
Git 18
PC,スマホ,PHSは
ULA
べっかんこ
公式(スマホ)
公式(PC)
で書き込んでください。
名前
メール
引用切替:
レスアンカーのみ
>>739 > と書くと意味不明だが、この場合は要は貰ったポインタを一々投げ返して操作してもらう。 > 具体的には、 > > Hash* hp = get_hash(myObject); // myObjectからHashを生成して貰う、Hashの実体は何か知らない > Stream* sp = traverse(hp); // hashをtraverseに投げてstraem的な何かを示している末端のポインタを貰う、traverseはtraverse出来る何か、ファイルかDBかssh先のストレージか知らんが、とにかくtraverse出来る何かをtraverseして、末端のポインタを返す > GitObject* go = cat_file(sp); // cat_fileに末端のポインタを渡して、GitObjectを貰う > > とする。これをOOP文法(Cにはないが)で一般的にはメソッドにして、 > > Hash* hp = get_hash(myObject); // 管理するのはhashのポインタのみ、中身は知らない > GitObject* go = hp.traverse().cat_file(); // hashを手がかりに翻訳させ、GitObjectを得る > > とするんだよ。結果、全体のコードは実際のHashの中身がSHA-1かSHA-256かなんて知る必要もないし、 > とにかくtraverseに投げてさらにcat_fileに投げれば、欲しかったGitObjectのポインタが得られる、という構造にする。 > こうすれば、本体のコードはハッシュの種類(SHA-1かSHA-2576か)とは依存しなくなる(=どちらでも全く同じバイナリで動かせるようになる) > そして travserseする実体がDBであったり、末端ファイルの中身がJSONであったりしても、 > 本体のコードはそれに依存しないから、何でも自由に選べるようになる。 > 本体のコードは、自身が使う GitObject の中身は知っているが、 > それ以外はhashを手がかりに、treeはtraverseに翻訳させ、末端の何かはcat_fileに翻訳させ、その具体的な実体は何か知らない状態で記述するんだよ。 > > これは拡張性ではなく保守性を上げる為の方策だが、マジで、あおり抜きで、OOPでは基本中の基本だ。 > だからフレームワークとかはこうとしか書けないように構成されてるから、一回使ってみれば上手く矯正されると思うぞ。 > とにかく、このレベルが理解出来ないのはヤバイってもんじゃない。 > 多分OOPの授業では1日目とかのレベル。 > もっとも、1日目で意味を理解出来る奴は居ないが。 > だからOOPって何?みたいな質問が掲示板上でもやたらでてくるわけでさ。
ローカルルール
SETTING.TXT
他の携帯ブラウザのレス書き込みフォームはこちら。
書き込み設定
で書き込みサイトの設定ができます。
・
ULA
・
べっかんこ(身代わりの術)
・
べっかんこ(通常)
・
公式(スマホ)
・
公式(PC)[PC,スマホ,PHS可]
書き込み設定(板別)
で板別の名前とメールを設定できます。
メモ帳
(0/65535文字)
上
下
板
覧
索
設
栞
歴
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s