- 1 名前:デフォルトの名無しさん [04/01/10 14:56]
- VisualBasicやCといった手続き型言語をずっとやってきた人が、
C#やJavaといったオブジェクト指向言語をマスターする場合 オブジェクト指向の概念・概論を学ぶのが先がいいのか、 それとも、C#やJavaの言語を学ぶのが先がいいのか、 どっちがいいと思われますか。
- 696 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 03:21:36 ]
- 「哺乳類を継承して犬と猫を作り、『鳴く』というメッセージを送ると犬なら『わん』、猫なら『にゃあ』と鳴く」
これがオブジェクト指向か?
- 697 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 08:35:09 ]
- >>696
その通り
- 698 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 09:42:36 ]
- 「わん」とか「にゃあ」の音はモノじゃないのでオブジェクト指向で扱えませんね
- 699 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:08:26 ]
- は?
- 700 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:16:09 ]
- >698
class 音
- 701 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:42:28 ]
- >>698
わんクラス class 犬 interface 吠えるく{ 鳴き声 bark(){ return new わん(); } }
- 702 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 11:44:17 ]
- >>698
オブジェクト指向で表現できないものは無いw あほちゃうかw
- 703 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:14:34 ]
- まあ、オブジェクトは貧乏人のクロージャだしね。
- 704 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 12:26:51 ]
- インターフェイスもオブジェクトにできませんねえ
- 705 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:35:42 ]
- 視野が狭い
- 706 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 12:51:10 ]
- 犬とか猫はあつかえても高度な抽象的概念はあつかえませんね。
ハングルが世界最高の言語だって言ってる連中と同列ですね。
- 707 名前:ココ電球(∩T∀T) ◆tIS/.aX84. [2007/01/20(土) 12:51:35 ]
- 犬とか猫はあつかえても高度な抽象的概念はあつかえませんね。
ハングルが世界最高の言語だって言ってる連中と同列ですね。
- 708 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 13:03:45 ]
- マトモな頭を持った人間なら、Cなどの構造化言語をある程度使い
こなせるようになったら、OOP的なアプローチでロジックを組めば 綺麗に効率よくコーディングできることに気が付くはずだ。 (たとえそれがOOPとして既に広く周知されたものだと知らなくても) そこでC++などを勉強すれば、綺麗で効率の良いスタイルのコードを 自然に書けて、さらに補強する機能があることは自然と受け入れら れるはず。 要するに、概念学習なんて自然と思いついて然るべきもので、 わざわざ他人から教えられるようなものではない。 概念学習で苦労しているのは低脳。つーかマ向きの人間じゃない。
- 709 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 13:14:27 ]
- >702
流石に「表現」するには厳しいモノも無くはないだろう。OOが万能とは思わない。 それまでのプログラミングより表現の幅は大きいと思うけど。
- 710 名前:デフォルトの名無しさん [2007/01/20(土) 13:23:45 ]
- オブジェクト指向狂詩曲って本で大体は理解した。
- 711 名前:デフォルトの名無しさん [2007/01/20(土) 13:53:50 ]
- >>708
>要するに、概念学習なんて自然と思いついて然るべきもので、 >わざわざ他人から教えられるようなものではない。 どちらが効率的かということだろ。既に他人が知っていることを わざわざ自分で再発見する必要はないと思うけどね。他人が考え てくれたものはありがたくさっさと学んだ方がよほど効率的で いいと思わないか?
- 712 名前:デフォルトの名無しさん mailto:age [2007/01/20(土) 15:11:42 ]
- 最近まで、オブジェクト指向言語の
メリットが見出せなかった。 使えないとか、理解できないとかではなくて 非手続き型で十分じゃね?って感じで でも.netやらJAVA系のエディタは便利だな まあ、オブジェクト指向開発は ツールありきってことかな
- 713 名前:デフォルトの名無しさん mailto:age [2007/01/20(土) 15:15:55 ]
- まあ、言いたい事はアレだ
ソースのインデント萌え〜ってことよ。
- 714 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:22:42 ]
- >>706
扱えないと思うヤツには扱えない オブジェクト指向は難しいと思うヤツには難しい
- 715 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:25:46 ]
- これはバイナリデータである、という抽象化すら出来ない奴がいるから困る。
データ毎に処理を分けるなよと思ったところで、がちがちの密結合でThe END
- 716 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:34:44 ]
- >>708
クラス=構造化された単位 だったらそうなるがそれじゃただの機能分割だw クラスが共通関数のまとめ役って言う考えはOO的ではない
- 717 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:46:01 ]
- >>716
クラス=関連の強いデータと関数の塊と言うのは十分OO的 OOと言うのは結局、効率的な機能分割法にすぎない。
- 718 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:47:57 ]
- >>717
初期のOOの考え方に近いか ただ、クラス=役割だ
- 719 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:50:45 ]
- 概念的はなっそうが出来てないと単なる機能分割で終わってしまって
クラスが単なる空間定義に終わってしまっているという良い例だなぁw クラスは空間定義ではあるが、OO的というにはそれだけではたりない。
- 720 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 16:51:36 ]
- >>719
×概念的はなっそう ○概念的なアプローチ
- 721 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:00:47 ]
- >>719
それでは、その足りない部分を具体的に述べてくれ。
- 722 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:02:19 ]
- >>721
役割、意味論
- 723 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:04:02 ]
- >>722
分割時に当然、役割、意味単位で分けるが それじゃ駄目なん?
- 724 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:07:32 ]
- 役割は機能的な役割という意味ではない。
実社会における役割と等価。 意味論も機能的な意味論ではない。 実社会における意味論と等価。 構造化アプローチで設計していくとソコは必ずしも一致しない。 ただ、構造化=役割の細分化という意味なら同意できるなぁ。
- 725 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:11:42 ]
- 実社会という言葉は少々極端ではあるが。
- 726 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:12:12 ]
- >>724
すまんが、機能的な意味と役割と 実社会における意味と役割とが 解離してる。例をあげてくれないか?
- 727 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:29:38 ]
- >>726
実社会という言葉は適切ではなかったw 要するに、手続きからクラスを定義するのと 要件からクラスを定義するのでは、クラスの作られ方が違ってくるってこと。 ただそれもレベルの問題で、旨くできる人はそれでもうまくクラスが作れているから 厳密な違いは無いと思うけど、旨くない人が手続きからクラスを導出していくと クラスのインターフェイスが違ってくる。 例)ある業務のシステムを作っています。 【手続き型の構造化手法】 手続きAからクラスBを導出しました。 その場合、クラスBは多かれ少なかれ手続きBに特化する。 後から手続きCでもクラスBが持つデータを使うことがわかりました。 でも、クラスBのインターフェイスは手続きBようなので、手続きC用のインターフェイスを 作りました。 【OO的手法】 業務の役割や意味からクラスBを導出しました。 クラスBには、業務を実行するインターフェイスDがありました。 業務の手続きA、CはクラスBのインターフェイスDを使うように実装する事にしました。
- 728 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:40:24 ]
- >>727
ありがとう、なんとなくわかった、しかし そういう話なら、もっと以前の構造化プログラムの モジュールでも同じだと思うけど、モジュールBが手続きA、C どちらでも、そのまま使えるような設計が構造化でも 良い設計のはず。
- 729 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 18:56:56 ]
- >>728
構造化とOOの決定的な違いは抽象化
- 730 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 18:57:59 ]
- まさかここまで引っ張ってきておいて
構造化がオブジェクト指向特有の手法だと思ってたとかいうオチじゃないよね・・・?
- 731 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:07:29 ]
- 構造化でもクラスを作ることは出来る
だがそれだけでOOとはいえない
- 732 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:08:56 ]
- >>729
抽象化すれば、問題ないの? なら、機能分割時に、役割に応じて 共通部分を親抽象クラスなりインターフェイス(Javaなもんで) なり抽出して作成すればOK?
- 733 名前:デフォルトの名無しさん [2007/01/20(土) 19:10:50 ]
- すまん。わんとかにゃあで説明してくれ。
- 734 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:12:12 ]
- >>732
手っ取り早くはデザインパターンとかを勉強してみるといいんじゃない?
- 735 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:20:55 ]
- >>734
デザパタは、実務で使ってるよ。 TemplateMethodとかVisitorとかFactoriyMeyhodとか、 良く使う。
- 736 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:39:04 ]
- ぶっちゃけ、デザパタとかクラスの動きとか、
実務レベルの話は、それなりにわかるんだが その上のOO道みたいな、哲学的な部分がさっぱりわからん。
- 737 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:45:18 ]
- >>736
変に構えなくても良いんじゃね? しょせん継承・カプセル化・情報隠蔽が出来てりゃ C++ では OO なんだし。
- 738 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:52:20 ]
- >>737
やっぱり、構えなくて良いんかね。 でも、OO的で無いとか観念的なアプローチをしろとか 言われたんで気になってね。
- 739 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:55:02 ]
- ファイルから/データを読み込んで/パースして/溜めておいて/次の日になったら/配信する
File Input Parse Queue Timer Output 言葉と実装とでE-Rが変わらないようにすると管理しやすいんだよね。 OOに慣れると疎結合を意識しだす嬉しい恩恵も得られる。 C言語使ってるときでもOOは意識するもんだけどね。
- 740 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:13:30 ]
- >>727
図に描いてみたけど上の構造化手法の例の問題点がよく分からん www.borujoa.org/upload/source/upload9881.gif
- 741 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:15:43 ]
- >>740
何でデータが手続きを参照してるの?w
- 742 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:22:17 ]
- >>741
構造化手法からオブジェクトを導出するならこんな感じになるのかなってのを 想像して図にしてみただけだよ。 その矢印はデータの流れを表してると考えてくれ。
- 743 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 20:52:55 ]
- なんで構造化手法からOOで言うところのオブジェクトを導出しようとするのかがわからん
>>727の問題点は、本来1つですむインターフェイスが手続きごとに複数実装しなければならんて事。 共通的に使われるものが、個別の要件に応じてインターフェイスを変更するのはおかしいんでは?
- 744 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:05:28 ]
- データが同じなら1つのクラスでメソッドで処理を分けるのがオブジェクト指向的にも
普通の設計だと思うけど、>>727の説明は何が言いたいのか理解しづらい。
- 745 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:13:12 ]
- >>744
>データが同じなら1つのクラスでメソッドで処理を分けるのがオブジェクト指向的にも・・・ データとは? この時点でOOではない そういうのがわからないから概念から学ぶべきだといっている ただ、判らないからといって実務で直接的に問題になるか?っと言われれば、状況による。 どんなに生産性が悪くても、それで成り立ってれば問題はないのでは?
- 746 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:15:16 ]
- ただ概念から・・・っといっても、実際には何らかの言語を通さない事には把握しにくいのも事実
両方同時に がいいのでは?
- 747 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:25:14 ]
- >>745
IntegerやStringから、List、HttpRequest、Bitmap、Window、、、、。 世の中にはデータみたいなオブジェクトが腐るほど溢れてるけど、これらはOOじゃないのか?
- 748 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:29:41 ]
- いいからオブジェクト指向とは?から勉強しなさいな
- 749 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:30:51 ]
- >>748
分からないから説明してよ。あなた自身の言葉で。
- 750 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:32:03 ]
- データは全てオブジェクト。オブジェクトじゃないものなど存在しない。
intもオブジェクト、言語仕様に振り回されるな。
- 751 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:36:15 ]
- 違う。オブジェクトであると定義した時点で、はじめて『それ』はオブジェクトになる。
- 752 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:41:43 ]
- ならintはオブジェクトだろ?
- 753 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:43:08 ]
- int をオブジェクトと定義すれば int はオブジェクト
オブジェクトではないと定義すれば int はオブジェクトではない
- 754 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:43:45 ]
- オブジェクト指向は人を選ぶから、無理にわかろうとする必要は無い
- 755 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:43:46 ]
- 言葉遊びに酔ってるだけの馬鹿だったか、邪魔したな。
- 756 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:44:41 ]
- 自明なことすら分かってもらえないのか……( ´ー`)y-~~
- 757 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:48:11 ]
- intはオブジェクトではないと定義したオブジェクトの参照をintは持つわけだ。
- 758 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:52:26 ]
- やはり言語から入ると、言語で表現できる範囲でしか物を考えられなくなるから
オブジェクト指向の学習としては概念中心に行うべきか?
- 759 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:58:16 ]
- 観念論が役に立たないのは、
ここの、やりとりを見れば自明かと。 大体明確な解すらないのだから、 学者が研究でやれば良いレベル初心者には、まったく必要ない
- 760 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 21:58:45 ]
- モダン言語はプリミティブ型にもclassがある。
Javaですらint.classが存在する。ちなみにInteger.classとは別物。
- 761 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 22:11:04 ]
- >>759
そうそう で、そういう奴らは指示されたようにコーディングだけしてれば良いのだw
- 762 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 22:15:45 ]
- 概念論が役に立たない奴には元から概念がないだけというオチ。
OOは文系のための言語という考えがあるが、あながち間違っていない。
- 763 名前:デフォルトの名無しさん [2007/01/20(土) 22:33:45 ]
- その前に日本語をきちんと学ぶこと。
プログラムが書けない奴は日本語もダメ。 もちろん、日本人の話なw
- 764 名前:740 mailto:sage [2007/01/20(土) 22:48:38 ]
- また懲りずに図を描いてみた。今度は構造化手法のDFDでスタックを表現した。
こうやって見るとオブジェクト指向っぽく見えない? www.borujoa.org/upload/source/upload9885.gif
- 765 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 22:58:15 ]
- オレはC言語やCOBOLしかやったことの無いメンバーしかいないチームで、
C++やJavaの開発を一緒にやったりする経験が多くあるが、オブジェクト 指向に背を向けている人は最後まで理解する事はできなかったね 結局その人たちは元の古巣へもどって逝ったよ。
- 766 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:04:49 ]
- >>765
それは、やる気や適正の問題で観念学習をしてないからじゃ 無いでしょう?俺の経験では言語学習だけで、使いものになる人は いても、観念学習だけでまともな設計ができる様になった人は 見たことないな。
- 767 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:12:17 ]
- >>766
ちがう 言語は覚えようとしていた だが概念を覚えようとはしなかった だから結局何がなんだかわからなくて挫折した 概念がわからない状態でOOPL使って作ったプログラムは ただの手続き型プログラムだろ Javaを使ってC言語や、COBOLを書こうとしているだけ
- 768 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:14:41 ]
- 何らかのプログラムを書けるようになるためには概念はイラン
期限付きで結果を出さなきゃならないような状況では、 形はともかく動くものが出来ればいいからな ただそれはオブジェクト指向技術を使って開発したプログラムではない
- 769 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:18:41 ]
- >>767
継承も、カプセル化・隠蔽もきちんと使ってたぜ どのあたりがOOじゃ無いのか、さっぱりわからないんだが OOの条件を書いてもらえないか?
- 770 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:20:18 ]
- >>769
>継承も、カプセル化・隠蔽もきちんと使ってたぜ っていうかその人は概念を持っているんじゃないの?
- 771 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:21:23 ]
- >>769
っていうか、オレが見た人をおまいが知ってるんかよw
- 772 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:24:55 ]
- 大体において、物事に理解度には個人差があるからなぁ
概念を特別に勉強しなくたって自然と習得できる人もいるだろうし、 そうでない人もいるだろうねぇ 特定の人間が出来るからって万人が出来るとは限らん。
- 773 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:27:21 ]
- >>770
コードを書く上での観念だけだよ。 OOの哲学なんてのは、まったく教えてない。 不必要な情報は出さない。同じ役割の物は、 抽象クラスを作ってインターフェイスを同じにする。 書き方が違うだけで、構造化でも同じだと言ってたよ。
- 774 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:28:23 ]
- 例えば俺はポインタの概念に戸惑いなどまったくなかったが
同じくC言語に熟練した同僚と違いOOPにも戸惑わなかった。 何に違いがあるのか考えてみると、 俺は普段からそういう思考で過ごしているからだという結論に落ち着いた。 言語適正=生活習慣。これだね。
- 775 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:32:57 ]
- >>773
オレもCとかCOBOLしかやったことの無い人にはそう教えるよ
- 776 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:35:09 ]
- つい極論に走ってしまったが、
言語学習と言うか実際にコード書かせて学習させるのが 一番だと思う。良いコードを見せてこうやったほうが安全とか 便利とか、実例で学ばせてゆく、英語とかでも文法いくらやっても 話せる様にはならないじゃん
- 777 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:35:54 ]
- 大体、手続き型の言語しかやったことの無い人が、すんなりJavaとか出来るようになるか?
そんなの見たこと無いけどな。
- 778 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:38:08 ]
- >>776
なぜソコでクラスを分ける必要があるのか?とか そういう素朴な疑問にはどうやって答えるの? 概念の説明無しで
- 779 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:40:22 ]
- クラスとは物凄く小さな単位のライブラリ。
最初はこれくらいで教えておくのが楽。
- 780 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:43:46 ]
- >>777
Cやってた人は、早い場合は異様に早いよ 3日もしない内に、実務で使ってみたいから、 適当な仕事無い?とか聞いてくる まぁ、それで頼んだ結果をみると、 Cのヘッダみたいな定数クラスがあったり ツッコミ何処それなりにあったりするけど。 動くことはキチンと動く
- 781 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:46:03 ]
- 言語仕様だけならテンプレートまでで1週間で覚えられるんじゃね?
- 782 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:46:04 ]
- それでオブジェクト指向が理解できるの?
プログラムが書けるようになるだけなのでは?
- 783 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:47:39 ]
- このスレの趣旨って、オブジェクト指向を学習するにはどうすべきか?っていうことでしょ?w
プログラムが書けるようになることがゴールじゃないだろw スレ違いもいいところw
- 784 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:48:19 ]
- >>782
オブジェクト指向が理解できてると言える条件を 教えてもらわないと、なんとも言えない。
- 785 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:50:49 ]
- >>784が言いたい事は、
>>784自信はオブジェクト指向が理解できてて、 それはプログラムが書けさえすれば達成できるものだ、 という理解でいいの?
- 786 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:56:59 ]
- >>785
微妙に違う、オブジェクト指向の理解できてるかどうか なんかは誰にもわからない。ので実質、 保守性の生産性が高い設計、及び、プログラムが書ける事のみが 重要と言いたい
- 787 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:58:10 ]
- >>784
基準といえるか判らんが、 デザインパターンの知識が無くて設計しても、デザインパターンにマッチした設計が出来るようなら 割とオブジェクト指向を理解しているといえるのでは?
- 788 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 23:59:39 ]
- >>786
だがそれはスレの趣旨とあってないだろ?
- 789 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:03:27 ]
- 構造体があるクラスのメンバの参照をもったりしなければおおむねOOPは成功してる。
- 790 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:04:44 ]
- そういうもんだいじゃないんじゃ・・・・
- 791 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:09:49 ]
- >>787
デザパタ=OOなのか? それこそ実装よりの技術でOOの概念とは違う気がするが それはともかく教えれば、適切に使う様になる 場合が多いけど、教えずに使ってるのは、無いかも TemplateとかVisitorとかは、継承の説明で教えちゃうしなぁ これは、実装の話だから、設計だとどうだろうな、 実装おしえてから設計教えるからわからん。
- 792 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:11:15 ]
- あと、オブジェクト指向の理解度を測る基準としては、メトリクスも使えるか?
1クラスはpublicメソッド数が10個以内 1メソッドのコード行数が100行以内 1クラスの行数が200行以内 この条件でプログラムを作れるかどうか?
- 793 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:17:06 ]
- >>791
デザインパターンは役割の関係の雛形 これに近い適切な役割の関係が導出できるかどうかが問題 それには役割自体が適切に割り当てられているか?っという事も含まれてる
- 794 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:18:29 ]
- >>792
本当にそんな実装よりの評価で良いのか。 しかも、その条件で、たぶんOO的で無い クラスを幾らでも作れるし、設計できるよ。
- 795 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:22:36 ]
- >>793
デザパタが自然に使えてるかと言えば使えてるな。 だいたいデザパタって機能レベルの関係でもつかえるから このスレ的には、OOとあまり関係ないんじゃないか?
- 796 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:22:36 ]
- >>794
ある側面からの機械的な評価でしかない。 でも、OO的な考えを持ってない人はこの基準に収まる、”意味のあるプログラム”はかけないと思うね。
|

|