クルメ学習記録

気になる事を気ままに書くようのブログです!

C++ プロトタイプパターン 書いてみた。

こんばんは!

もものんです!

 

今回はプロトタイプパターンについて書いてみました!

 

生産用クラスにオブジェクトを設定することで

メソッドで簡単にそのクローンをつくる事が出来るデザインパターンです。

 

これは書いていて凄く分かりやすくて楽しかったです(笑)

自分の業務では色々な場面で使えそうだなって思えるデザインでした。

 

何しろイメージしやすかったです。

【デザインパターン】プロトタイプ

C++ ファクトリーメソッドパターン 書いてみた。

こんばんは!

もものんです。

 

今回はファクトリーメソッドパターンを書いてみました!

正直イメージがしにくいですね…

 

「依存性の逆転」というのを実現する事が出来るデザインパターンとの事ですが、

KISSの原則」に抵触するとの事で、

本当にこれが必要なときに使うべきとの事を 参考にしたブログさんは書いていました。

 

確かにその通りで、もしもこれが職場のソースコードに書かれてたら理解するのに時間がかかってしまいそうです。

 

使う場面があるかは分からないですが、一個の学びでした!

※下記適したコードじゃないですね(__)

 

gist.github.com

C++ ビルダーパターン 書いてみた。

こんばんは!

もものんです!

今日は作成系のデザインである「ビルダー」パターンについて書いてみました。

 

実装する処理部分を抽象化しておくことにより、

何かあった際に処理を差し替えしやすくすることができるイメージでした。


最近、テキストデータを加工する仕事をしていたのですが

データを「A」→「B」、「A」→「C」に加工する処理を書いていたのですが

 

このデザインパターンを使えば、めちゃくちゃ綺麗にソースを組めたなと思いました…(笑)

 

同じようなコードを書く場面があったら今度は使ってみたいと思います。

 

 

gist.github.com

 

C++ シングルトンパターン 書いてみた。

お久しぶりです!

何となくC++ の復習をしたくてgist にコードを残したのですが

はてなブログの更新もしたいなと思ったのでこちらにも共有しました!

 

デザインパターンを学ぶ目的は

コードを読む力や書く力を上げるためであって

 

ただ使えば良いってわけじゃないよって言われたことをふと思い出しました…

 

最近gist にC++ の復習ついでに投稿しているのですが、

序にはてなブログにもつぶやきと一緒に投稿しようかな…!

なんて思ったりしました。

 

【デザインパターン 復習】シングルトン 

DirectX9にimguiを実装してみたい!

今更DirectX9なんかい!

って感じなんですけど、今の自分の環境がそれなので、…

GitHubからクローンしてくる

②クローンしたプロジェクトから下記ファイルを自分のプロジェクトにもって来る

※バグが最初出るので、言われた通りに実装

  1. imgui(cpp、h)
  2. imgui_impl_dx9(cpp、h)
  3. imconfig.h
  4. imgui_internal.h
  5. stb_textedit.h
  6. imgui_draw.cpp
  7. stb_rect_pack.h
  8. stb_truetype.h

③指定のコードを記述

※初期化、終了、更新、描画処理

 

覚え書きコード

初期化処理をする

// Setup ImGui binding

ImGui_ImplDX9_Init(hWnd, CManager::GetRenderer()->GetDevice());


// Setup style

ImGui::StyleColorsClassic();

//ImGui::StyleColorsDark();

 

//グローバル領域にフラグ配置

bool show_another_window = false;

 

//更新処理の始まりに

ImGui_ImplDX11_NewFrame();//始めに記述

 

サンプルソースのようにコード記述

/*例その1

ImGui::Begin("Another Window", &show_another_window);

ImGui::Text("Hello from another window!");

ImGui::End();

*/

 

ImGui::EndFrame();//更新処理の終わりに

 

 

//プログラム終了時に

ImGui_ImplDX9_Shutdown();

 

描画はじめに

ImGui::Render();

※自分フィードバックブラーを実装していたのですが、これを描画の最初らへんで書いていたのですが、全然Imguiが描画されなくて、結果最後のPresentのバッファ切替の手前にこのコードを記述したら描画されました。描画用のポリゴンに書き込めなかったのが原因だったのか…良く分かりません(-_-;)描画されたので良しとします!

 

ここまでかけばImGuiがとりあえずは描画されました…

まだ枠を動かしたりとかは出来ないのですが。

ちょこちょこ上手くいかなくて変に時間とられちゃいました。。

とりあえず実装出来そうなので良かったです!

 

なんかやるさんのブログを参考にさせて頂きました。

ありがとうございました。

ありがたやありがたやm(__)m

 

参考にしたサイト

nanka.hateblo.jp