トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
C++
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索

___

■ オブジェクト指向


    柔軟性がたかく、変更に対処しやすいコードをつくるための技術とか設計方法のこと。
    

     抽象
     カプセル化
     わかりやすさ
     変更性
     再利用性

仮想関数を使うと システム( よびだし )側に変更をせずに、新規要素を追加できる。


___

■ オブジェクト

コードとしてみれば、あるメモリ領域であって、 設計段階ではプラグラムする対象をクラスとして切り出す単位。
___

■ コンポジション

コンポジションを使うと既にあるモジュールを組み合わせてプログラムをつくることができる。
___

■ ポリモーフィズム

基底クラスの参照をつかって、派生クラスのオブジェクトのメソッドを動的に呼び出すこと。 仮想化したインターフェイスを用意しておけば、将来の追加をうけいれることができる。
___

■ インターフェイス

利用者側のコードからかくこと。テストコードとか、サンプルコードをかく。 そうすると実装を見せずにすむ。 外側からみえるコードを先にかく。それがクラスのインターフェイスになる。 またインターフェイスは利用者が見るところなので 情報は少ない方がよい。 そうすると使う側( つくった本人も含む )も簡単に使い方を覚えることができる。
___

■ アクセッサを多用しない

set/get とメンバ変数( 実装 )を無闇に関連づけない。 必要なインターフェイスのみを公開すること。
___

■ 継承をインターフェイスの継承につかう

基底クラスの実装を再利用するために、継承を利用しないで インターフェイスを継承するために使う。 こうすると 既存のシステムが基底クラスの参照をとって処理をしている部分の 変更がいらないのでシステムが安定する。 POINT 既存コードに影響を与えずに 新しい派生クラスを追加することが目標。 そのためにシステムは 基底クラスの参照をパラメータにとるようにする。 インターフェイスはシステムから見ると、意味があって一貫性のあるまとまりとして切り出すこと。 そうすると派生クラスをつくりやすくなり、 if - else のコードが減る。 POINT インターフェイスを再利用するということ。
___

■ ポインタをつかって間接レイヤーをつくる

インターフェイス( 間接レイヤー )を余計につくると、その部分が可変になる。 インターフェイスと実装をわけるとは、ポインタ経由するということ。
___

■ インターフェイスをきりだす

インターフェイスを切り出すには "類似性" に注目をすること。 配列とか map などのコンテナの実装ではなく、ソートされた要素の集合とみなすと インターフェイスができる。 ユーザーは実装ではなく、インターフェイスに対してコードをかく。
___

■ 設計の基本原理

不要な結合をへらすこと 設計をしないと一貫性のない、その場しのぎの決定による偶然の産物になる。 一番変化がありそうな部分に柔軟性を確保すること。 柔軟性を確保すると複雑になるのですべての部分で確保をしないこと。
___

■ フリーストア

new をつかって確保されるヒープのこと。
___

■ mutate

オブジェクトを変化させること。
___

■ throughput(スループット)

処理量, 処理能力, スループット《所定の時間に処理工程を通過する素材の量
___

■ latency

待ち時間 呼出し時間 データを転送する命令を出してから実際に転送が開始されるまでの時間 POINT File IO, Network IO が特にレイテンシが大きいので、この空き時間を利用して別のことをする。

NINJAIDX 12