検索結果 6 件

by wild7
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス設計に関して
返信数: 9
閲覧数: 1948

Re: クラス設計に関して

block_size(最小単位)はLogicalMemoryのメンバとして、LogicalMemoryのAssignメソッドで
AssignInfoオブジェクトを生成することとしました。
(メモリプールは勉強不足で理解が甘いため使用せず。追々勉強していこうと思います)

使い方のイメージを図に描いてみました。
画像

これにて解決とさせて頂きます。
度重なるアドバイスありがとうございました。
by wild7
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス設計に関して
返信数: 9
閲覧数: 1948

Re: クラス設計に関して

Yuoさん AssignInfoオブジェクトを生成してデータの書き込み位置、サイズ等を持たせて、それを元に LogicalMemoryを更新するようなイメージを持ってました。その際、AssignInfoでの 書き込むサイズ、LogicalMemoryのサイズをblock_unit_size単位としようとし、同じ役割 であったので片方だけ持たせて参照するべきなのか、両方に持たせてしまうべき なのか判断がつかなかったため、質問させて頂いたというのが経緯です。 Yuoさんが考えていらしたところまでは、正直なところ考えが及んでいませんでした。 Yuoさんから頂いたアドバイスを元に一度考えなおしてみよう...
by wild7
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス設計に関して
返信数: 9
閲覧数: 1948

Re: クラス設計に関して

「何の」最小単位ですか。 この説明だけでは,AObject::unit1_とBObject::unit1_が同じ役割なのか別の役割なのか, そもそもBObject::unit1_はAObject::unit1_に依存するのかどうかもわかりません。 すみません、分かりづらい説明でしたね。説明ヘタで申し訳ありません。 一度アドバイス頂いた内容よりクラス図の変数名を具体的なものに直した上で再度説明させて頂きます。 これで理解してもらえるか自信が持てませんが・・・。 ●修正後のクラス図 class LogicalMemory { public: private:  unsigned long mem...
by wild7
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス設計に関して
返信数: 9
閲覧数: 1948

Re: クラス設計に関して

YuOさん >具体的に、AObjectとBObjectはそれぞれどのような役割を持ったクラスで、それぞれの関係はどのようなものでしょ>うか。 >また、「共通で使用する」とはどういう意味を持っていますか。 AObjectはメモリ領域を管理するクラスで、BObjectは書き込むデータ量、書き方等を管理するクラスとなります。 今回の共通して持たせようとしているunit1_変数はAObject,BObjectのそれぞれの最小単位となります。 例えば、メモリ領域のサイズが2MBとして、AObjectのメンバ変数unit1_の値が1024であれば、 メンバ変数size_の値は1024になるといった具合です。
by wild7
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス設計に関して
返信数: 9
閲覧数: 1948

Re: クラス設計に関して

夢幻ノ月夜さん、返信ありがとうございます。

同じ変数を使ったクラスが増えるようであれば継承ということですね。なるほど。
ということは、クラスが増えないようであれば、委譲の方が良いということでしょうか?
また、夢幻ノ月夜さんが継承を検討する同じ変数を使ったクラスの数の基準など
ありましたら教えていただけないでしょうか?
by wild7
4年前
フォーラム: C言語何でも質問掲示板
トピック: クラス設計に関して
返信数: 9
閲覧数: 1948

クラス設計に関して

クラス設計初心者です。 クラス設計について質問させてください。 AObject,BObjectで共通で使用するようなメンバー変数が 必要になるケースの場合、 ①下記のようにそれぞれで持たせてしまう? ②片方のクラスに持たせておいて、別のクラスからは参照でその   メンバー変数にアクセスする? ③別の手段がある では、どの対応が一番適しているのでしょうか? 詳しい方ご意見を頂けないでしょうか? よろしくお願いします。 ちなみに私の考えとしては、カプセル化の観点で考えて 自分のメンバー変数にしかアクセスしない①のが一番 適しているのではないかなあと思ってます。 class AObject { pu...

詳細検索ページへ移動する