まじめにクラスの勉強とかした事がないので、どういう風にすれば良いか悩んでいま
す。
MainDialogClass
+ViewDialog1
+ViewDialog2
+DataClass
という構成があり、ViewDialogはモーダレスダイアログです。
ViewDialog1,2それぞれからDataClassのデータを参照・変更したいのですが、
DataClassのポインタをViewDialogに渡すのも格好悪いかなと思いますし、
メインにメッセージで通知するのも、データ型や数がばらばらなので面倒臭そうです。
他に手段とか、クラス配置とか、かっこいい(一般的な?)やりかたを教えて下さい。
> ...
> という構成があり
意味わからん。
クラス階層? インスタンスの所有関係?
説明せんと通じませんぜ。
えと、インスタンスです。
MainDialogClassにViewDialog2つとDataClassのクラス変数を用意してる感じです。
DataClassがMain-View間の情報のやりとりのために
用意されたクラスであるなら、素直にそれに従います。
> DataClassのポインタをViewDialogに渡すのも格好悪いかなと思いますし
なぜ?
DataClassはデータアクセスクラスで、DBにアクセスして情報を抱えているクラスです。
データだけを持ってるクラスではないので、他の人はどうやって情報やりとりするんだ
ろ
って思っての質問でした。
元のクラス分割が間違ってるのかもしれないんですけど…;;
データのやりとり用に別クラスを作って、データを受け渡すのがスタンダードなんで
しょうか。
今回は、各ViewDialogが勝手なタイミングで情報を取得しようとするのと、更新がある
ので…。
ポインタ渡しとくのが簡単なんですけどね;;
> データのやりとり用に別クラスを作って、データを受け渡すのがスタンダードなんで
しょうか。
なにをもってスタンダートとするのかわからんけども、
データのやりとり用の別クラスを作ったところでDB用に用意したDataClassと
ほとんど同じになる、あるいは一方が他方を包含するのであればそうするし、
まったく異なったものになるならそれはそれでよし。
# そんときゃ両者相互の変換/転送を考えにゃならんですが。
いずれにせよ、あなたの意図がクラスに(素直に)反映されてりゃいぃんじゃないかし
ら。
自由にしていい、って事ですかねw
Windowsのプログラムをやってるのが社内で一人だけなので「こんな組み方でいいのか
なぁ?」って結構不安になったりするもので、他の人ならどうするのか聞いてみたかっ
たってのが実情です。
ポインタで渡す事にします。
お付き合い頂きありがとうございました。
解決になっているのでもう見て無いかもですが、
C++の文法に関しては理解できているなら
オブジェクト指向設計とかデザインパターンとかの勉強を
したら良いのではと思います。
多分、言語をある程度知っていた方が理解しやすいのではとも
思いますし。
設計の勉強をしようと思い、とりあえず今やってるプログラムをUMLを使って展開してみ
ようと、UMLチュートリアルを見ながらトライしてみたのですが…。
挫折中です;;
やはり基本概念をしっかり勉強しないとダメですね・・・。