[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] CADのクラス構造




北村@xxxxxxxxxxです。

CADはやったことがないので、私のやり方として
記します。
特に参考になるほどのことではないと思います
ので、その程度として見て下さい。

> 設計に関する質問です。
> たとえば、ですが、CADシステムを作ろうと思ったとします。
> CADでは、形状を沢山表現しなければなりませんから、Shape
> という抽象クラスを作ります。この Shapeは、何らかの
> Collection に突っ込むとしましょう。
> で、Shapeを継承して、Lineとか、Rectとか、Arc
> とかいうク
> ラスを作るとします。ここまではOK?
私もそれらしくやります。

> ということは、どこかにdraw() というメソッドを作ることに
> なるわけですが、それはどこに作ればいいのでしょう?
私の場合は、上記で言う、Shapeに draw()を abstractで
持たせて、サブクラスで実装します。
描画の際には、Shape#draw()として使えますし。
それぞれの instanceの状態は、その instance自身が
一番良く知っている訳で、それなら自分で描画した方が
スマートだろうと考えています。
# 実際は、Oberverパターンもからめて実装することに
# なるかと思いますが。
私も、この手の方法に関しては、いろいろな意見を聞き
たいと思っています。

------------------- Network Solutions from Japan ---
   <S>< >  Yuji Kitamura  e-mail:kitamura@xxxxxxxxxx
<N><J>    phone:+81-3-3471-5701  fax:+81-3-3471-5710
--------------------------- http://www.nsj.co.jp/ ---