【OOP/D】オブジェクト指向を何故理解できないの?★4
レス数が1000を超えています。これ以上書き込みはできません。
0001仕様書無しさん
2007/03/10(土) 21:23:34【OOD/P】オブジェクト指向開発はなぜ流行らないの?★3
http://pc11.2ch.net/test/read.cgi/prog/1171808096/
哲学論で否定、肯定はせずに、まずは参考URLを読んだ上で語りましょう。
【参考ページ】
ドメインモデル貧血症
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?AnemicDomainModel
ドメインロジックとSQL
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
データ中心指向とオブジェクト指向
ttp://hp.vector.co.jp/authors/VA020635/system/dataorient.html
さあ、張り切っていきましょう。
0002仕様書無しさん
2007/03/10(土) 21:24:580004仕様書無しさん
2007/03/10(土) 22:07:20│ト、l、 /´, '`⌒'´ `ヽ: : .
ヾヽ!lV/ / ,/ / ,' ハ、: .
,ィニ≧ゝレ' / / ,./ / , ハ : : .
く<-‐7´ _」] l l/_,∠/ / / / い : : .
 ̄ノ/: :f r'l l /レ'/、_/‐ト'、/l| li l : : : : .
. : {ハ : :|{(l|y==ミ _ノ、/ソリ ll | : : : : :
: : : :ヽヽ: :|、lハl、゙ ⌒ヾlノリ ll l : : : : : :
: : : : : : : : V\ヽ、 `ー ゛ノルんイリノ : : : : : :>>1さんスレ立て乙です♪
: : : : : : : : : ,.--、_ハ`‐r=ニ--、′ノ. : : : : : : :
: : : : : : : : / /-ョロ'ヲ´ i l : : : : : : : : : :
: : : : : : : 〈 ,ハフ'兀「 ! } : : : : : : : : :
: : : : : : : : ヽ, ト{‐lハ. ヽ ' ノ : : : : : : : :
: : : : : : : 〈 , !{ソ ヽl/|、: : : : : : : : ,r-、
: : : : : : `ヽ V j _ノ ,スヘ_ノ7--‐イ∧〈
: : : : : : : { / ,ハ、 _//く 〈 ___ r'九〈ハ.}
: : : : : : :レ' ' ,ハヘニイヽ_厂 、ノソト}〈V´
: :_ノ‐- 、' {∧ トヘ_「 {Y: :仔 之_
〈l ̄>-、_ 丶レ^ヽ厂` 上l_:/Z/ソ‐′
r个y'⌒ll_,/‐、;_,、ト、__ト、 ` ー/「>,、 └トf‐′
{_Y^lヽ、,ど , , 〈__j,ハ、) 、_イソ´`ヽヘ、ノ、lフ
ヽ>ゝハ 〈ノ{ l! ハ_j人lJ /ソ: : : . ノフく_.イ
〉 〈、ソ´ UU 、ノ入 : :__rクー<__〉
∠__, 〈_⊥、′ i _,rくソヽ√ヽフ
j__ルく_/T'┬_ヒス⊥イ \ノ
ヽ√ \丿 ヽ/
0006仕様書無しさん
2007/03/11(日) 00:24:04はとても偏向しているね
0007仕様書無しさん
2007/03/11(日) 08:16:260008仕様書無しさん
2007/03/11(日) 08:58:56↓
たとえ話
↓
罵り合い
↓
Java厨の出現
またループを起こすんだろ、もまぃらは
またStrutsの話なんか持ち出すんだろ、もまぃらは
0009仕様書無しさん
2007/03/11(日) 09:37:300010仕様書無しさん
2007/03/11(日) 12:16:37http://pc11.2ch.net/test/read.cgi/prog/1173263530/225-241
0011仕様書無しさん
2007/03/11(日) 13:27:560012仕様書無しさん
2007/03/12(月) 20:56:49インタフェース持つ場合ってどんな場合がある?
全部のクラスが必ずインタフェース実装するのは馬鹿らしいし。
0014仕様書無しさん
2007/03/12(月) 21:15:11この時、「レスを追加する」というメソッドは、
�@スレッドクラス自体にベタ書きする
�Aスレッドインタフェースに書いて、スレッド実装クラスで実装
どっちがいいかって話。
�@と�Aの区別の基準が知りたい。
0016仕様書無しさん
2007/03/12(月) 21:39:16スレッドという概念が唯一のもので、レスを追加するという振る舞いが今後変更される可能性が低いなら、
上位クラスはスレッドクラスを直接使えばよい。Stringクラスみたいに。
しかし、コテハン禁止スレッド、フシアナさんオンリースレッドなどが存在して、
更にそれらのスレッドに対して一括でレスを追加するならインタフェースで切ることで透過的に扱える。
0017仕様書無しさん
2007/03/12(月) 21:46:06説明能力に欠ける奴は、理解能力にも欠ける可能性が高く、
レスしている人たちの労力が徒労に終わる可能性も高い・・・
0018仕様書無しさん
2007/03/12(月) 22:06:42あとオブジェクト指向だろうとそうじゃなかろうと、
手抜きの設計すると後で自分が痛い目に合うのはもはや常識。
0019仕様書無しさん
2007/03/12(月) 22:08:580020仕様書無しさん
2007/03/12(月) 23:01:46なぜ理解できないのでしょうか?
0021仕様書無しさん
2007/03/12(月) 23:03:06/.:;;;;;;;;;;;;;;;;;;;;;::.\ ^^
/ .::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::..ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: _,,,......,,__
:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::/_~ ,,...:::_::;; ~"'ヽ
:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: (,, '"ヾヽ i|i //^''ヽ,,) どうすれば、この先生きのこれるのか・・・。
:::::::::::::::::::::::::::: ^ :'⌒i i⌒"
:::::::::::: .(| ,;;;;;;|
(ノ...,;;;;;;|
-―'――ー'''‐'ー'''―‐'―''''―‐'''ー'''.| ,;;;;;;|'-''――'`'
,, '''' `、 `´'、、, ''' ''' ヽ _ノ 、、,
,,, '' ,, ''''' ''''' U"U ,,,,
0022仕様書無しさん
2007/03/12(月) 23:04:530023仕様書無しさん
2007/03/12(月) 23:07:270024仕様書無しさん
2007/03/12(月) 23:13:19○○を取得するみたいなアクセサメソッドまでインタフェースにしなきゃならなくないですか?
私はデータベースに保存する情報を中心にモデルを構築するのですが、
インタフェース中心の方はそれらの情報も全てインタフェースとして見るのですか?
0025仕様書無しさん
2007/03/12(月) 23:16:500027仕様書無しさん
2007/03/12(月) 23:32:21インタフェースって必要があるから使うんだろ? インターフェースありき
じゃねえべ。
0028仕様書無しさん
2007/03/12(月) 23:37:431000ならみんなOOD/Pが理解できるようになる!
前スレ1000サンクス
0030仕様書無しさん
2007/03/12(月) 23:42:250031仕様書無しさん
2007/03/12(月) 23:44:410032仕様書無しさん
2007/03/12(月) 23:49:32っつーかね、会社の連中もそうなんだがなんで一から十まで全部に適用しようとするかね。
頭が固すぎる。有効なところには使えばいいし、面倒なら省いちゃえばいいし、そんなん臨機応変に自分で決められんのかね。
0033仕様書無しさん
2007/03/12(月) 23:56:520034仕様書無しさん
2007/03/13(火) 00:05:50明確な基準がなければバラバラな設計になっちゃいますよね?
例えば外注に設計依頼する際に臨機応変に、じゃシステム動かないし
そんなの仕事じゃないですよ。
手順や基準を示してきっちりステップ数、バグ数管理しなきゃ品質の高いシステム開発はできないでしょ。
0035仕様書無しさん
2007/03/13(火) 00:10:430036仕様書無しさん
2007/03/13(火) 00:10:500037仕様書無しさん
2007/03/13(火) 00:11:200039仕様書無しさん
2007/03/13(火) 00:18:51ステップ数、バグ数で定量的に品質は分かるんですよ。
Javaで実行数これくらい書いたら、過去の数値からこれくらいバグが出るという目安ができ、
それに満たないなら品質が悪いということで試験やり直し。当然でしょw
0040仕様書無しさん
2007/03/13(火) 00:20:320041仕様書無しさん
2007/03/13(火) 00:23:30まぁステップ数の多いクラス、分岐の多いコードほどバグのリスクが高いということだよ。
これはOOだとかJavaだとかに関係なくプログラム全般にいえることでしょ。
0042仕様書無しさん
2007/03/13(火) 00:26:15以後、OOに関する話題をどうぞ。
0043仕様書無しさん
2007/03/13(火) 00:28:57等に左右されるところが大きいからだ。
0044仕様書無しさん
2007/03/13(火) 00:36:19そんなことは自分だってJavaでプログラム書いてるから100も承知ですよ。
けどね、対外的に品質報告する際にはやっぱ数字の力はすごいわけで。
日本の企業でプログラム書いてれば分かるでしょ?
そもそも、管理職とかの老人は数字でしか品質を見ない。
Junitのテストケース見せていい品質でしょ?とはいえない。
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?CannotMeasureProductivity
0046仕様書無しさん
2007/03/13(火) 00:54:00テスト結果だけじゃだめなのか? あぁ、さてはテスト仕様書も
テストデータの作成も外だしか? それで、テスト時のバグ件数
との比率で結果の妥当性を見ようってのか? そりゃ結局管理し
てないに等しいな。おじゃまもんといっしょじゃねぇか。
0047仕様書無しさん
2007/03/13(火) 01:07:210049仕様書無しさん
2007/03/13(火) 01:16:460050仕様書無しさん
2007/03/13(火) 01:34:08【OOD/P】オブジェクト指向開発はなぜ流行らないの?★3
1000 :仕様書無しさん :2007/03/12(月) 23:33:27
1000ならみんなOOD/Pが理解できるようになる!
0051仕様書無しさん
2007/03/13(火) 01:37:070052仕様書無しさん
2007/03/13(火) 05:44:10にしても組み合わせが悪くてバグになってる時とか却って切り分けに一苦労するよな。
他への影響考えると直すに直せなくて結局小さな専用クラスをたくさん作らされる
羽目になったり。
ちゃんと設計して最初から無理な適用は諦めればいいのに。
0053仕様書無しさん
2007/03/13(火) 07:19:47前時代的観点での数字が有効なのは間違いない。
こちらもそれをうまく利用していい場面というものが
あるのではないかと思う。
0054仕様書無しさん
2007/03/13(火) 08:10:13それができない限りスレ違い
話はそれからだ
0057仕様書無しさん
2007/03/13(火) 08:16:28まず初めに思ったのが「クラスって関数と変わらねーんじゃね?」てとこ。
ま、ぶっちゃけクラスと関数じゃ出来ることは多分同じなんだろうけど、
関数を使った従来型のプロシージャ型プログラミングとOOPの違いは以下のようなもんだと勝手に思ってる。
プログラムの中の人が、一人で関数っていうツールを駆使して頑張るのが従来型のプロシージャ型プログラミングで、
OOPは複数のクラスという担当者がいて、それぞれ担当業務が明確に決まっており、要は完全分業。
適切に指示すればクラスがそれぞれやってくれる。
従来型は中の人の出来が悪いと、手順に無駄な繰り返しやらがあったり、
人依存で体系化されてない部分が多く外部から判別不能なこともあったりするが、
中の人が優秀だと仕事の内容も報告も分かり易く、かつ手早く終わったりもする。
対してOOPでは、担当業務が明確なため、誰に頼めばよいか分かり易い。
但し、担当範囲分けがいい加減だったりすると一人の担当者に負荷が集中したり、
無駄な担当者がいたりするし、一人の人がやるよりもレスポンス悪かったりする。
ただ、より大規模に仕事するには出来に体系化・分業化されたOOPの方がグダグダになりにくい。
こんな理解でおk?
0058仕様書無しさん
2007/03/13(火) 09:04:15ところを切り分け、その間のやりとり(I/F)を決める。
変わらないところは、気合いが入った濃い人が構築して、変わるところに
ついては人海戦術なり何なりでふくらませていく。
基本的にはI/Fを死守(生育)していかなければいけないけど、最初の切り分けが
まずかったり、うまく戦略が全体に伝達できてなかったり、濃い人の言うことが
意味不明に感じたりする人が出てきてチーム間の仲が悪くなったりと、
ぐだぐだになって「おまえら何やってるんだ?」なんてことになるのだが、どう?
0059仕様書無しさん
2007/03/13(火) 09:09:28クラスをその分野に関して機能提供する処理担当とみるなら正解。
0060仕様書無しさん
2007/03/13(火) 09:18:08おそれすだけど。
掲示板をどこまでサポートするかによる。
2ちゃんとしたらば、スラドにmixi、どれも「スレッドを追加」という概念はあるだろうけど、(テーマ別にあるような)単独掲示板にはそういった概念はない。
なので、どういった範囲を対象として、どういう機能を提供したいかに依存する。
0061仕様書無しさん
2007/03/13(火) 12:36:08前の設計話のほうが馬鹿入ってこなくて良かったのに。
ミクロな話ばっかりだとつまらん。
0062仕様書無しさん
2007/03/13(火) 12:56:26設計は実装のためにあるんだろ。実装にシームレスに繋がらないクラス設計されてもな。
しかも、クラスやメソッドという単語はむしろOO一般の設計の話で、言語の話ではないと思うぞ。
0064仕様書無しさん
2007/03/13(火) 14:09:120066仕様書無しさん
2007/03/13(火) 15:03:220067仕様書無しさん
2007/03/13(火) 15:06:41で、また設計と製造は別物議論が繰り返すと。
まあ、せっかく勉強したJAVAなり何なりと、なんちゃってオブジェクト指向が高尚だと思いたいのは、自己陶酔だと思うけど。
0068仕様書無しさん
2007/03/13(火) 15:13:100069仕様書無しさん
2007/03/13(火) 15:14:22だからPを含めるのは嫌なんだよ。馬鹿避けできないから。
0070仕様書無しさん
2007/03/13(火) 15:23:300071仕様書無しさん
2007/03/13(火) 15:41:530073仕様書無しさん
2007/03/13(火) 16:08:050075仕様書無しさん
2007/03/13(火) 17:10:310076仕様書無しさん
2007/03/13(火) 18:40:190077仕様書無しさん
2007/03/13(火) 18:45:35クラスはインスタンスの型
オブジェクトは物だ!
0078仕様書無しさん
2007/03/13(火) 18:49:390079仕様書無しさん
2007/03/13(火) 18:50:520080仕様書無しさん
2007/03/13(火) 19:14:06コマンドでフォワード先画面を決められるようにしたフレームワークだ。
内部はOOで作られているようだが所詮はシステムの画面遷移の担い手に過ぎんよ。
ラピュタで言えば半球の外の城に過ぎんよ。
技術の粋は内部に集約されているのだよ。
見たいかね?新のOOを、かつてのDOAではバズワードとして恐れられたOOの力を!!
0081仕様書無しさん
2007/03/13(火) 19:23:31public class うんこ{
private String 排泄物;
public void 爆発する(){
排泄分.大爆発()
}
}
(゚д゚)
0082仕様書無しさん
2007/03/13(火) 19:24:540083仕様書無しさん
2007/03/13(火) 19:27:540084仕様書無しさん
2007/03/13(火) 19:58:240085仕様書無しさん
2007/03/13(火) 20:32:240086仕様書無しさん
2007/03/13(火) 20:35:560087仕様書無しさん
2007/03/13(火) 20:54:28例えば、ISAM的なdbのアクセスなんて、その都度SQL発行しなくてもできると思いまつ。
�@コンストラクタで、アクセスするテーブルIDと(読み込みに使う)キーフィールドIDを渡す。
この時、アクセスするテーブルの全フィールドの型が文字列・数値・日付・etc…なのかを覚える。
�A読み込みメソッドでは、�@の情報を元にSQLを組み立てる。
ここでは、キーの値を引数でもらう。
VBで言うと、ParamArrayだし、Cでいうとva_argだっけ(...のこと)?
�B上記�Aで読み込んだ結果を、Getterで公開(引数はフィールドID)。
�Aで空振りしたときは、ゼロやスペース等、適当な値を返す。
�C上記�Aが空振りしたかどうかを、Getterで公開。
STATUSね。COBOLみたいw
こうすると、後処理(Close...ハンドルの解放)忘れないし、SQLを何回も投げなくて済みまつ。
まぁ、所詮COBOLerの考えることなので、あんまりツッコまないでねw
0088仕様書無しさん
2007/03/13(火) 21:00:000089仕様書無しさん
2007/03/13(火) 22:00:19あれは純粋にデータだけを扱えばいいし、
最近はER図からテーブル作ってくれるツールもある
プログラムの場合はデータの他に操作も考える必要がある
0090仕様書無しさん
2007/03/13(火) 22:39:16別スレ立ててそっちでやれ
0093仕様書無しさん
2007/03/13(火) 22:59:35それはテーブルモジュールというやつじゃないか?
テーブルと1対1になっているクラスの静的メソッドにCRUD機能を持たせるって奴。
あと、関連も一度に読み込むならリソースの無駄だからそこはレイジーロードで
必要に応じてフィールドがnullなら読み込むとかにしとけばOKかね。
0094仕様書無しさん
2007/03/13(火) 23:29:17やっぱり最初は扱うドメイン領域の概念やデータをクラスとして抽出じゃね?
で、次にその抽出したクラスが単なるアクセサメソッドしか持たない値クラスなのか、
操作(といってもほとんど検索と登録ばっかだが)を持ちえるIFなのかって判断になると思う。
で、さらに詳細に属性、メソッドの戻り値とパラメータを決めてクラス図を描く。
ただ、この方法だとデザインパターンを適用したくなったり、IF使ってポリモフィズムとかやりたくなるのが難点だな。
後々こいつらをDBに入れること考えちまうとあんまり継承とか使いたくないし。
0095仕様書無しさん
2007/03/13(火) 23:39:100096仕様書無しさん
2007/03/13(火) 23:40:170097仕様書無しさん
2007/03/13(火) 23:40:47Cでやると聞いてへこんだ俺。
いいよ、確定申告のときのおねーさんが超かわいかったから。
0099仕様書無しさん
2007/03/13(火) 23:46:210100仕様書無しさん
2007/03/13(火) 23:46:55010187
2007/03/14(水) 20:37:39σ(・_・)、COBOLerだから、難しい言葉は理解できません^^;;;
でもでも、間違っても>>87の�Bの公開は、静的にしませぬ。
VB.Netなら
------------------------------------------------------------------------------------------
Default Public ReadOnly Property Fields(ByVal FieldName As String) As Object
------------------------------------------------------------------------------------------
のような実装ね。
あと、書き忘れたけど、コンストラクタの引数は
・dbのコネクション
・テーブルID
・読み込みに使うキーのFieldID(VBならParamArray、Cなら...)
こうすれば、
Dim 管理マスタ As New TableReader(dbCnn, "管理マスタ")
Dim 顧客マスタ As New TableReader(dbCnn, "顧客マスタ", "顧客コード")
Dim 月次顧客マスタ As New TableReader(dbCnn, "月次顧客マスタ", "年月", "顧客コード")
管理マスタ.Read()
顧客マスタ.Read(txt_顧客コード.Text)
月次顧客マスタ.Read(管理マスタ("処理年月"), txt_顧客コード.Text)
...
みたいな、記述ができるんでつ。
>>93タソが言う「テーブルモジュール」ってこうゆうこと???
0103仕様書無しさん
2007/03/14(水) 22:22:29あくまでgetterの話だから
setterになるとcommitやら排他制御やら
色々ややこしいことになるけどな
0104仕様書無しさん
2007/03/14(水) 22:48:540106仕様書無しさん
2007/03/14(水) 23:12:50List型で返すのか?そのList型のプロパティーはどれが持つんだ?
Daoパターンの方がきれいじゃね?
0108仕様書無しさん
2007/03/14(水) 23:53:100109仕様書無しさん
2007/03/14(水) 23:54:420110仕様書無しさん
2007/03/14(水) 23:59:190111仕様書無しさん
2007/03/15(木) 00:58:470112仕様書無しさん
2007/03/15(木) 02:05:55なんて質問には親切を装ったウソの回答がふさわしいので
筆の立つウソツキの登場を強く望むものである
0113仕様書無しさん
2007/03/15(木) 09:00:010114仕様書無しさん
2007/03/15(木) 09:53:200116仕様書無しさん
2007/03/15(木) 12:44:030117おじゃばさま
2007/03/15(木) 12:59:500118仕様書無しさん
2007/03/15(木) 13:01:11話かみ合わないし。
0119仕様書無しさん
2007/03/15(木) 13:02:430120仕様書無しさん
2007/03/15(木) 13:11:390121113
2007/03/15(木) 21:26:39一口にOOといっても、流儀がいろいろあるけど、主流はやはりUP派閥かねぃ。
組み込みではDOORSが調子いいと聞くけど。
・・・こんな感じ? なあんてw
冗談はさておき、実際はどうなんでしょうか?
やっぱりUP?
0122仕様書無しさん
2007/03/15(木) 21:45:550124仕様書無しさん
2007/03/15(木) 22:05:19別スレ立ててそっちでやれ
012587=101
2007/03/15(木) 22:45:20「1対多とか多対多」は、普通にDataTableとかRecordsetで処理すればいいでしょ?
設計思想とか顧客の要求によって、それぞれだと思うけど、少なくとも入力系PGなら
「1:1」のアクセスが圧倒的に多いと思いまつ。
例えば、顧客マスタの登録画面で、担当者コードを入力してHitしたらその担当者名を表示、
未登録ならエラーを表示して再入力させるとか…。
まぁ、最近の設計は、コンボボックスから選択っていうのが一般的なのかなぁ???
それなら、こんなショボいクラスイラネなんだけどねw
0128仕様書無しさん
2007/03/15(木) 23:15:00具体的に言ってみろ
0129仕様書無しさん
2007/03/15(木) 23:15:480130113
2007/03/15(木) 23:29:15同じOOと呼ばれていてもプロテスタントとカトリック、モルモン教ぐらい違うものがある、という認識ない?
立ち位置によって、捉え方が微妙にずれている、人によって"OO"が違うから混乱が生じる。
それじゃまずいってので、UMLで言葉をあわせましょう、ということになったけど、
もとの教義が違うのでUMLは最大公約数的なものになっているのが現状かな、と。
だから、話がかみあわないのではないのかなあ、と。
0133仕様書無しさん
2007/03/15(木) 23:52:43なんか分かったような分からんような話だが、多分その通りなんだろう。
さすが抽象論だ。で、どうすればいいんだ? 立ち位置と教養を合わせろっ
てことか?
0134仕様書無しさん
2007/03/16(金) 00:09:220135仕様書無しさん
2007/03/16(金) 00:22:42開発方法論の話がしたけりゃ別スレ立てろ。
0136仕様書無しさん
2007/03/16(金) 00:37:17うまく行かないだろうな。
所詮は人間様が使う道具なんだから
それを忘れなければうまくいくだろう。
0137おじゃばさま
2007/03/16(金) 09:12:06機能設計にオブジェクト指向は使えない。
機能設計の画面設計に必要なのは、作法とセンスである。DB設計に必要なのは正規化と経験である。
開発手法にオブジェクト指向は使えない。
プロジェクト運営で必要なのは、経験と分析と実行力と、優秀な営業である。
0139113
2007/03/16(金) 09:40:50OOといって違う概念の違う話をしているから、人によって理解している/
理解していないの基準が違う。
混乱するので、例えば“正統派”smalltalkのOOか、“新興の”Javaか、それとも設計論の一派か
わかるようにしないとずっとgdgdのままだろいなあと感じる。
(というか、自分の「神様」は誰か知らないままやってるのが大半だろうなあ、と思う。)
邪教みたいなのも、いっぱいあるし。
教養とまではいわないが、せめて話をするときに意識できるようになっていてほしいとは思う。
(無邪気なのがいちばんタチが悪い)
ささやかな望みとしては「布教活動」する関係者には、そのへんを意識してほしいなあ、と。
>>135
方法論だけではないって。
開発言語、デザパタ、フレームワーク、どれでもあてはまる。
0140おじゃばさま
2007/03/16(金) 09:42:55ユースケース図とシーケンス図は機能仕様の部類に入る場合もあるが、オブジェクト指向とは関係ない。
ちなみに「UML=オブジェクト指向」ではない。
0141仕様書無しさん
2007/03/16(金) 10:12:080142仕様書無しさん
2007/03/16(金) 10:18:03それは知らんかった。つかそれ結局具象の話じゃね?
えらそうに、お前が布教しろよ。
0143仕様書無しさん
2007/03/16(金) 11:43:09smalltalkのOOかC++(Java)のOOかというよりは、
アラン・ケイのOOか、ビヨーン・ストラウストラップのOOか、の違いじゃないでしょうか。
「メッセージング(動的性や流動性)」重視か、
「ユーザー定義型(カプセル化や型安全性)」重視かの差、ですね。
それと、smalltalkやJavaに限ったことではないですが、
考え方を特定の言語にくくりつけないほうがよいと思います。
たとえばC++(Java)だってケイのOOっぽいメッセージをイメージしたコードは組めるし(善し悪しは別)、
smalltalkだってストラウストラップのOOっぽく型を意識したことをライブラリでばしばしやっています。
0144仕様書無しさん
2007/03/16(金) 12:53:03無理。そんなことしたら特定の言語についてしか話せない人間が発言できなくなって寂れる。
個人的にはそのほうが望ましいけど。
0145113
2007/03/16(金) 12:59:39だから、「例えば」の話。
主旨は、「OO(と呼ばれるもの)には種類があるけど、区別されていない(ことが多い)から、
理解できているのか、できていないのか混乱しているのが現状では?」です。
>>143
確かに。
0146仕様書無しさん
2007/03/16(金) 13:18:47|・ ・|
| ◎ |<びょ〜ん・すとらうすとらっぷ
└| |┘
| |
| |
| |
|__|
∪ ∪
0147おじゃばさま
2007/03/16(金) 19:50:040148仕様書無しさん
2007/03/16(金) 20:08:21使うよなぁ。おじゃばのいうUMLはこれらは含まないのか?都合のいいUMLだな。
0149仕様書無しさん
2007/03/16(金) 20:35:14やれるってんなら例を見せてみろ。
0150仕様書無しさん
2007/03/16(金) 20:52:500151仕様書無しさん
2007/03/16(金) 21:13:53C++でsmalltalkのエミュレータを作ればいいだろ
0152仕様書無しさん
2007/03/16(金) 23:07:300153仕様書無しさん
2007/03/16(金) 23:45:33C++で書かれたSmalltalk VM=Squeak
Squeakのコードをコンパイルすると
裏でC++コンパイラが走る。
C系言語でメッセージをパッツンパッツンしたいなら
・ MacOS X上でObjective C
・ MPI
あたりがオヌヌメ
0154仕様書無しさん
2007/03/17(土) 00:03:53ifとgotoさえあれば問題ない
頭が悪いから一々問題領域を分割しないと駄目なんだよ
天才ならばどんなに読みにくいコードでも把握できる
馬鹿はある意味他人の責任にすることの天才なので
理解できないのはオブジェクト指向で無いからということで
本当のオブジェクト指向だったら理解できると自分自身を欺く
本当のオブジェクト指向は自分自身も知らないことも欺こうとする
だから何時まで経っても馬鹿のままでいい気になれる
まず自分自身で最高の実装だと自負できるコードを見せろ
話はそれからだ
取りあえず例としてオセロゲームにしてみようか?
#include <stdio.h>
int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};void k(){if(m[p]==0)
for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if(c&&m[v]==t){a+=c;v=
p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n";int main(){for(i=
1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0){for(p=9;p<82;++
p)k(),printf("%.2s",&h[m[p]*2]);if(a)for(d=a=s=p=8;a==8;k())t-2?(scanf("%d %d"
,&p,&i),p+=i*9):++p;else if(s)s=0,printf("pass");else break;t=3-t;}return 0;}
これをオブジェクト指向とやらでもっと保守性と再利用性をやらを高めてみろよ
0155仕様書無しさん
2007/03/17(土) 00:31:49それとも学習過程の違いなのか、
なんにせよおまえら見てると
オブジェクト指向の統一見解が無いってのがはっきりわかる。
誰か本出さないか?
「あなたが思っているそれはオブジェクト指向ではない!」
って感じの、オブジェクト指向の切り分け本。
ちったあ売れるかも。
要求定義と一緒だ。
何をする、だけじゃなくて、
何をしない、ってのを明確にできてないから混乱するんだよ。
0156仕様書無しさん
2007/03/17(土) 00:34:530157仕様書無しさん
2007/03/17(土) 00:43:250158仕様書無しさん
2007/03/17(土) 00:44:09でも実装の方法がよく分からん。
ってのが実際のところじゃまいか?
0160仕様書無しさん
2007/03/17(土) 01:28:52ワロスw
問題を分けられないのも
責任を他のせいにしてるのも
全部、お前だろw
お前は一人でPCのOSでもアセンブラで組んでろよ。
もちろん、全国を一件ずつまわるんだぞ。
わかったなw
じゃあ、逝っていいよ。
ついでに業界からも逝ってくれ。
害がありすぎだから
0163仕様書無しさん
2007/03/17(土) 02:37:22面倒が増えるばかりでコストパフォーマンス寺ワロス。
0164仕様書無しさん
2007/03/17(土) 03:04:04でもそれを怠るとあとで混沌となる
0165仕様書無しさん
2007/03/17(土) 05:35:43分岐だけで演算なかったら。
全てのアセンブラの命令は分岐と引き算だけで置き換えられる事を
偉い人が証明したって学校で習ったけど、詳細は覚えとらんわ。
0166仕様書無しさん
2007/03/17(土) 08:33:11再利用性を重視・実施できてるプロジェクトが
どれだけあるのか怪しいもんだ。
結局なんちゃってOOの残骸をバグだらけのまま
使いまわしてプロジェクトの都度同じバグを修正してるところばかりだろ
0167仕様書無しさん
2007/03/17(土) 09:46:55アセンブラにifとgotoは無い訳だが。。
0168仕様書無しさん
2007/03/17(土) 09:56:120169仕様書無しさん
2007/03/17(土) 10:29:580170仕様書無しさん
2007/03/17(土) 13:10:20あるのはcompareとjumpだが。。
0171仕様書無しさん
2007/03/17(土) 13:42:31「何故泳げないの?」とか、「何故楽器を弾けないの?」って質問
と同じで、本人は理解できてるつもりでも、はたから見ると全然
ダメってことなんだよな。程度の差の問題っていうのは、どの領
域でもありうる話で、表面をさらうだけならだれでもわかるが、
実際、それをプロの技として使いこなせるかどうかという話にな
ると、本人の努力とか素質とかセンスに負う所が大きいわけで、
これはいくら言い聞かせも、本人にその気がなければ徒労に終わる。
0172仕様書無しさん
2007/03/17(土) 15:59:260173仕様書無しさん
2007/03/17(土) 16:12:08それを言うなら
「何故、平泳ぎで北島のタイムを出せないの?」
だろ。
OOは万能ではそもそもない。
たとえば、OSを全部OOでつくるのは設計レベルでも無理だしな。
基本的にはOOは人の為の考え方であって
ハード的には必ずしも扱いやすい考え方ではない。
OOに限らないけど
やり方の向き不向きを考えないと
本末転倒な結果になる。
OO信者は特に気をつけたほうがいいな。
0174仕様書無しさん
2007/03/17(土) 16:21:03プロトタイプはOO意識せずに作ってみて、まとめた方が楽に扱えそうな
部分だけOOで作り直せばいい。
でも大規模PRJでこれやると予算も納期も破綻するからな。
0175173
2007/03/17(土) 16:21:08強引な処理しないでって意味だから。
ここでわざわざ説明する必要はないとは思うけど。
0176仕様書無しさん
2007/03/17(土) 16:28:160178仕様書無しさん
2007/03/17(土) 16:56:22Javaの大規模開発でぼろくそにされて逃げ出して
巣の穴の中でプルプルしながら強がりを言ってるだけ。
頭は弱いけど、元は優しい子なんです。許してやってもらえませんか?
0179仕様書無しさん
2007/03/17(土) 17:12:46設計中からデザパタデザパタ喚いて
OODの勘所をはずしまくって、しまいには
全部リファクタリングで改善するとか世迷言を言い出して
蹴り出されたコンサルね。
納得したわ
0180仕様書無しさん
2007/03/17(土) 17:16:55過去の資産があるなら楽かもしれんけど、何も無い状態で何ちゃってOOで
プロト作って>>177の言うように「工数短縮のためプロト流用してね」と
言われると元も子も無いよw
0181仕様書無しさん
2007/03/17(土) 17:24:07もちっと具体的にたのむわw
0182仕様書無しさん
2007/03/17(土) 17:28:12流行る流行らない以前の問題
0183仕様書無しさん
2007/03/17(土) 17:42:450184仕様書無しさん
2007/03/17(土) 17:43:390185仕様書無しさん
2007/03/17(土) 18:09:520186仕様書無しさん
2007/03/17(土) 18:18:270187ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/17(土) 18:26:17OOなんて簡単。
馬鹿でも理解できるから、背伸びして実力以上に見せたがるやつが好んで使う。
0188ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/17(土) 18:28:33と吹聴して回るOO信者
0189仕様書無しさん
2007/03/17(土) 18:31:090190ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/17(土) 18:31:45「俺ローマ字読めるんだぜ」と吹聴して回ってる馬鹿が 全部ローマ字で書いた文章作ってきて
「読みにくい」と言われると 「俺だけがローマ字を理解している」 などと有頂天になる。
始末に困るな。こういう輩は
0191ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/17(土) 18:32:430192仕様書無しさん
2007/03/17(土) 18:33:530193仕様書無しさん
2007/03/17(土) 18:42:28しかし、負荷テスト好きだな、このおっさん。
そんな大規模サイトやってるようには見えんが。
0194仕様書無しさん
2007/03/17(土) 18:43:320195仕様書無しさん
2007/03/17(土) 18:53:050196仕様書無しさん
2007/03/17(土) 19:07:230197仕様書無しさん
2007/03/17(土) 19:11:570198仕様書無しさん
2007/03/17(土) 19:23:040200仕様書無しさん
2007/03/17(土) 21:36:31このキメェコテは
0202仕様書無しさん
2007/03/17(土) 21:52:12しかしライブラリ全部覚えとくのって大変
54 :仕様書無しさん :2007/02/24(土) 23:35:24
失せろ糞コテ
55 :仕様書無しさん :2007/02/25(日) 04:17:17
>>53
それと、OOとは、まったく関係ない。
0203仕様書無しさん
2007/03/17(土) 22:10:58英語だが技術者なら読めるだろ。
0204仕様書無しさん
2007/03/17(土) 22:12:180205仕様書無しさん
2007/03/17(土) 22:13:220206仕様書無しさん
2007/03/17(土) 22:20:52こんなスレにいるアホな連中を雇ってる金で最高のハッカーを一人雇った方がいいってのはもはや常識
0207仕様書無しさん
2007/03/17(土) 22:28:27会社立ち上げては逃げ、どっかの会社に潜り込んでは逃げ
を繰り返してる経営者には無理だと思いまーす
0208仕様書無しさん
2007/03/17(土) 22:28:590210仕様書無しさん
2007/03/17(土) 23:17:130211仕様書無しさん
2007/03/17(土) 23:20:12読む側も考え方や指針が掴めるから理解がしやすい。
あとジョークなんかが織り混ぜられてて、フランクな口調で書かれてるから親しみやすい。
日本語訳が待ち望まれるな。
0212仕様書無しさん
2007/03/17(土) 23:25:06これ読んで良かったら買ってみる
0213仕様書無しさん
2007/03/17(土) 23:52:59wwwwおいwwwwちょっとwwwwそれ単なる読書感想文じゃんwwww
ww仮にも技術系板でwwwwそれは低レベル過ぎるぞw
0215仕様書無しさん
2007/03/18(日) 00:23:27ぽ
ぽ
ん
ま
つ
り
で
す
か
?
0216仕様書無しさん
2007/03/18(日) 00:26:380219仕様書無しさん
2007/03/18(日) 20:37:570220仕様書無しさん
2007/03/18(日) 20:44:220221仕様書無しさん
2007/03/19(月) 01:29:56結局はクラスとか継承とかが理解できてりゃそれでおk
0222仕様書無しさん
2007/03/19(月) 01:39:41インタフェースも継承も抽象クラスもそれで使い分けられる。
0223仕様書無しさん
2007/03/19(月) 08:58:320224仕様書無しさん
2007/03/19(月) 09:16:330225仕様書無しさん
2007/03/19(月) 11:20:240226仕様書無しさん
2007/03/19(月) 11:21:100227仕様書無しさん
2007/03/19(月) 11:31:25たいてい情報システム板でたかひろに流し込んだネタだから
馬鹿馬鹿しくなる。
お前はいままで引用時にネタ元に敬意を示した事があるのか?
0228仕様書無しさん
2007/03/19(月) 12:51:12まわりの状況がみえてない。なんでも自分の思い通りにしたがる
どっかの総書記と同じ。
0229仕様書無しさん
2007/03/19(月) 13:05:05排除なんてしないよ、分離。
0230仕様書無しさん
2007/03/19(月) 13:09:02たかひろの設計方法論というのは
・インベーダゲームで実証済みの設計手順
・クラス設計では、GoFデザパタ23パターンとJ2EEパターンを絶対視する
・設計の不備は全て、コーディング後にリファクタリングで改善する
・ORマッピングよりObjectStoreの優劣検討
程度の話でしかない。
設計できない人間が、話を設計に限定しようというのだから
いつも話が破綻するのは当然のこと。
0231仕様書無しさん
2007/03/19(月) 13:11:52○ ORマッピングとObjectStoreの優劣の比較検討
0232仕様書無しさん
2007/03/19(月) 13:15:24設計話できない電波なら、設計分離すればそっちは平和になるじゃん。
Pの話で勝手に春厨呼び込んでくれよ。
0233仕様書無しさん
2007/03/19(月) 13:20:470234仕様書無しさん
2007/03/19(月) 13:21:090235仕様書無しさん
2007/03/19(月) 13:23:04> たかひろって誰よ?
>1のテンプレ書いた人。
0236仕様書無しさん
2007/03/19(月) 13:26:41凄いと思った
42 名前: 仕様書無しさん [sage] 投稿日: 2007/03/13(火) 00:26:15
マ板じゃ生産性や品質評価は荒れるしスレ違いなのでこの辺で。
以後、OOに関する話題をどうぞ。
45 名前: 仕様書無しさん [sage] 投稿日: 2007/03/13(火) 00:36:44
>>42
別に構わないんじゃないか?
OOでも荒れるときは荒れるし。
生産性や品質を抜きにして語るのも違う気がするしな。
55 名前: 仕様書無しさん [sage] 投稿日: 2007/03/13(火) 08:12:15
>>45
もうちょっと学習しておいで
0237仕様書無しさん
2007/03/19(月) 13:49:43パスワード照合をユーザ・オブジェクトでやるかシステム・オブジェクトでやるか
とかw
正解は
http://pc11.2ch.net/test/read.cgi/prog/1171808096/151 の後半。
151も呆れ返っているように、この種の常識のない奴は逝ってヨシ
更に、この種の課題は
http://pc11.2ch.net/test/read.cgi/prog/1171808096/111
として一般化できる
0238237
2007/03/19(月) 13:54:41空理空論の分析モデルの話か。
例があまりに不適切過ぎる。
どうでもいい話だ。
0239仕様書無しさん
2007/03/19(月) 15:53:36名言。某OOコンサル会社元社長の現場がそれ。
http://pc11.2ch.net/test/read.cgi/prog/1171808096/298
これも名言。
http://pc11.2ch.net/test/read.cgi/prog/1171808096/498
正解。
http://pc11.2ch.net/test/read.cgi/prog/1171808096/513
分析クラスと設計クラスを同じものとしか見れないとは、
実装感覚が欠落した話だな。
http://pc11.2ch.net/test/read.cgi/prog/1171808096/583
http://pc11.2ch.net/test/read.cgi/prog/1171808096/593
ワロタ
0240仕様書無しさん
2007/03/19(月) 16:06:17とある数百人月規模のOO開発現場の基本設計で
とんでもない継承/関連ツリーを見た事がある。
・数百ある画面を、全て別々の画面サブクラスとして定義し、
・データクラス、ビジネスロジック・クラスを
画面と密結合した形で画面毎に個別定義
つー設計。クラス図書くとこんな感じ
画面abstract
△
:implements
┌………┼………┐
画面1 画面2 画面N
◇ ◇ ◇
│ (略) (略)
画面1専用
コンテキスト
◇
┌┴────┬───┐
画面1専用 画面1専用 画面1専用
入力データ エンティティ 出力データ
(DTO) (POJO) (ValueObject)
↑ ↑ ↑
│参照 参照│代入 │代入
└─────┼───┘
: n
画面1専用
ビジネスロジック
0241240
2007/03/19(月) 16:15:540243仕様書無しさん
2007/03/19(月) 19:50:15まぁ今俺がおるところがそういう感じなんだがorz
0244仕様書無しさん
2007/03/19(月) 19:51:130245仕様書無しさん
2007/03/19(月) 19:51:16トンでもない設計だな。
数百ある画面で、画面個別に
・入出力データクラス
・エンティティクラス
・ビジネスロジッククラス
を作っちまったら、問題が多すぎるよ。
第一に、互いに互換のないクラスが爆発的に増えて、
作成〜テスト〜メンテの手間の増大、
ひいては品質低下につながる。
「後でリファクタリングで整理するから大丈夫」
なんて言えるレベルじゃない。
第二に、各画面間でロジックやデータ、エンティティ
の型互換性が低下しやすくて、
「後からリファクタリングで共通メソッド/クラスを抽出」
が著しく困難になる。
問題は、ロジックが特定画面の特定データ、特定エンティティと
密結合しちまっていて、切り離しが面倒ってこと。
こんな基本設計押し付けてくる奴が居たら
俺は即座に理由を説明してダメ出しするだろうな。
0246仕様書無しさん
2007/03/19(月) 19:56:580247仕様書無しさん
2007/03/19(月) 19:58:37> 基本設計なのにクラスのことを考えてるってのが古い組織を感じさせるな
いちいちつまんない事でつっかかるなよ。
普通に言えば「アーキテクチャ設計」だよ。
0248仕様書無しさん
2007/03/19(月) 19:58:410249仕様書無しさん
2007/03/19(月) 20:05:43MartinFawler言うところの「ドメイン・スクリプト」のパターンに陥りがちなんだよな。
あと、数百ある画面自体は、開発ツールでホイホイ作成できるっつうのに、
そこに付帯する味噌っかすみたいなドメインスクリプトを
何百人月とかけて設計、コーディング、テストしてるっつうのが
バカバカしいんだよな。
・・・と、これで、
>>1 の主旨に沿って設計論を語る準備ができたぞ。
後は任せたw
0250249
2007/03/19(月) 20:06:53○トランザクション・スクリプト
orz
まぁこの手のシステムでは MartinFawler言うところの
トランザクション・スクリプト・パターンに陥りがちなんだよな。
あと、数百ある画面自体は、開発ツールでホイホイ作成できるっつうのに、
そこに付帯する味噌っかすみたいなドメインスクリプトを
何百人月とかけて設計、コーディング、テストしてるっつうのが
バカバカしいんだよな。
・・・と、これで、
>>1 の主旨に沿って設計論を語る準備ができたぞ。
後は任せたw
0251仕様書無しさん
2007/03/19(月) 20:07:58○トランザクション・スクリプト
orz orz orz
まぁこの手のシステムでは MartinFawler言うところの
トランザクション・スクリプト・パターンに陥りがちなんだよな。
あと、数百ある画面自体は、開発ツールでホイホイ作成できるっつうのに、
そこに付帯する味噌っかすみたいなトランザクション・スクリプトを
何百人月とかけて設計、コーディング、テストしてるっつうのが
バカバカしいんだよな。
・・・と、これで、
>>1 の主旨に沿って設計論を語る準備ができたぞ。
後は任せたw
0252仕様書無しさん
2007/03/19(月) 20:14:30しかも基本設計という名の下に。
なぜか要件定義段階からStruts拡張自前フレームワークを使用するという前提までつけられる。
本来であればサービスの1メソッド程度のものを、個別のビジネスロジッククラスとして定義させられたりしてな。
0253仕様書無しさん
2007/03/19(月) 20:18:30オープンシステムへのミグレーションね。
そして、そんな設計押し付けてくる奴には
ダメ出ししなきゃね。
0254仕様書無しさん
2007/03/19(月) 20:22:55そこらへんに変な条件が付帯するのはしょうがないよな。
0255仕様書無しさん
2007/03/19(月) 20:25:07× ミグレーション
○ マイグレーション
0257仕様書無しさん
2007/03/19(月) 20:39:57ググった俺の人生を返せ
0258仕様書無しさん
2007/03/19(月) 20:41:46開発ツールを使ってサクサクの部分が失敗して
完全なデスマーチ化する事も多いからなぁ…
そうなったときの責任の所在も
曖昧になる事が多いのがなんともね…w
0259仕様書無しさん
2007/03/19(月) 20:56:08これの件は、まぁ俺の責任じゃーねぇな。
より上位から判断できる人間2人には問題点を指摘したし、
その問題を無視して突っ走ったバカの責任だろ。
0260仕様書無しさん
2007/03/19(月) 21:11:010261仕様書無しさん
2007/03/19(月) 21:21:31>>259は、開発ツールが提供している複数のソリューションを
理解できないSEが、選択をミスって暴走しただけの話だろ。
>>251の「開発ツールでホイホイ」は意味が違う。
・いくらマイグレーション部隊と言えども、Webだったらこんな設計はしない。
Webアプリケーションの設計作法などコモディティ化しているから、
設計の初期段階で誰かが気付いてさっさと方向修正できていたはずだ。
・問題は、ファットクライアントの作法で画面中心の設計をしちゃった事。
ファットクライアントの作法は未だに、ライブラリの提供する部品を継承して
Compositで組み合わせて、一画面一画面別々の画面クラス〜処理クラス作り
という手法が標準の地位を占めている。
例のCLU〜X WindowやObjectPascal〜MacApp時代の名残だ。
・>>240の問題は、ファットクライアント流の1画面1クラスを頂点に、
COBOL流プロシージャ=クラスとする処理クラスと、
構造体=ValueObject or DTO とするデータクラスを追加して、
それを継承や(略 でガンジガラメにしちゃった、って点にあると思う。w
0262261
2007/03/19(月) 21:38:47書き直し。
>>258
>>259は、開発ツールが提供している複数のソリューションを
理解できないSEが、選択をミスって暴走しただけの話だろ。
>>251の「開発ツールでホイホイ」は意味が違う。
要するに、あれはファットクライアント流の設計+αだ。
ファットクライアントの画面なら、IDEの画面ツールでサクサク作れる。
その手のツールは大抵、1画面1クラスみたいなコードを吐き出す。
そしてその画面クラスにミドルウェア使ってリモートインタフェース付けりゃ
画面部は完了だろ。
(そのあたりはかなり枯れている)
問題はその後、+αの部分だ。
個々の画面に密結合する形で、
画面専用のデータクラス、画面専用のロジッククラス
などというものの設計を許しちゃうから、
クラス数の爆発して、デスマーチ化する、って事。
0264仕様書無しさん
2007/03/19(月) 21:45:550265261
2007/03/19(月) 21:53:58問題はもう一つある。(>>261後半部分)
1画面1クラスを頂点に、 画面単位で
COBOLプロシージャ=1クラスとするビジネスロジック (Coplienのfunctorパターン)と、
構造体=1クラスとするデータクラス(J2EEパターンのValueObject or DTO)を追加して、
なおかつそれを継承/関連でガンジガラメに密結合しちゃってる事。
これではビジネスロジックもデータクラスも再利用できない。
これらの問題の解決方法はただ一つ。
ビジネスロジックやデータクラスを、できるだけ画面に依存しない形(疎結合)にしろって事。
そのためには、設計に充分時間をかけて、判りやすい疎結合の手法を決めておけ
って事。
よく、「設計に時間をかける程品質が上がる」ってのは、
その類の問題を事前に検出して、その問題に対するソリューションを検討しておく
って事なんだ。
0266仕様書無しさん
2007/03/19(月) 22:08:30話がループしてるZO!
0267仕様書無しさん
2007/03/19(月) 22:10:35ビジネスロジックに対する正しい対処法:
そういうところに関わらない仕事で食っていく。
ドカタ仕事はドカタに投げる。ドカタはそれが技術と思って喜んで作っては捨て作っては捨てを
繰り返す。無限にデスマを続けながら、俺は先端技術者だぜイェーイと喜ばせておく。
やっすい単金で。
0268仕様書無しさん
2007/03/19(月) 22:15:14俺が話しているのも
その+αの部分の話なんだけど
ソースジェネレータみたいなツール開発して解決する前提が
うまく行かず、デスマーチ化が
酷い事になってた時があった。
設計とある程度並行に
実装が進む開発の場合は
ありがちな問題かと思った。
0269仕様書無しさん
2007/03/19(月) 22:29:22たしかに、そのときもソースジェネレータ周りを
きちんと設計出来てから
開発を進めれば問題なかったかもしれない。
しかし、複数の会社が絡んでいたり
担当者が掛け持ちで仕事して
そっちも忙しかったりで
無理だったと思うけどw
0270仕様書無しさん
2007/03/19(月) 22:35:03ってどこのキミかよくわかんないけどw
最近耳ぶたが閉じっぱなしで勘が狂いっぱなし・・・花粉のせいか
0271仕様書無しさん
2007/03/19(月) 22:36:480272仕様書無しさん
2007/03/19(月) 23:51:42( ( ・ω・) 基本設計ブタ?
しー し─J
0273仕様書無しさん
2007/03/19(月) 23:58:060274仕様書無しさん
2007/03/20(火) 02:35:230275仕様書無しさん
2007/03/20(火) 08:07:55春厨確定だな
0276仕様書無しさん
2007/03/20(火) 08:50:300277仕様書無しさん
2007/03/20(火) 10:54:010278仕様書無しさん
2007/03/20(火) 13:43:40かつての構造化プログラミングが提唱されたときと同じ
自分の作業に疑問をもってないやつは気がつかないのさ
0279仕様書無しさん
2007/03/20(火) 14:33:01If message contains many zenkaku katakana words (i.e., imported idea),
fools miss understanding.
To have plain discussion with fools,
>>261 wrote message with hankaku katakana.
そこまで言われんでも自分で理解しときぃやー。ぼけぇー。
0280仕様書無しさん
2007/03/20(火) 14:35:230281仕様書無しさん
2007/03/20(火) 16:30:41SEは良い設計ができるだけでなくバリバリ実装もできるんだ。
ってDDDにかいてあったよ。
0282仕様書無しさん
2007/03/20(火) 17:18:33引用のみ書いても意味がない。
0283仕様書無しさん
2007/03/20(火) 17:28:21たかひろ の特徴
0284仕様書無しさん
2007/03/21(水) 00:28:510285仕様書無しさん
2007/03/21(水) 00:45:110287仕様書無しさん
2007/03/21(水) 01:23:37一般論を隠れ蓑にした
知り合い同士の内輪話だから
お前は顔突っ込むな
0288仕様書無しさん
2007/03/21(水) 01:25:370289仕様書無しさん
2007/03/21(水) 01:27:460291仕様書無しさん
2007/03/21(水) 01:33:310292仕様書無しさん
2007/03/21(水) 01:37:00技術者の何%ぐらいなんやろ?
0293仕様書無しさん
2007/03/21(水) 01:45:400294仕様書無しさん
2007/03/21(水) 07:23:550295仕様書無しさん
2007/03/21(水) 07:38:230297仕様書無しさん
2007/03/21(水) 08:58:48オブジェクト指向を掲げる現場は多いけど、
要員集めは言語で集めるしね
0298仕様書無しさん
2007/03/21(水) 10:10:020299仕様書無しさん
2007/03/21(水) 10:27:590300仕様書無しさん
2007/03/21(水) 10:51:000301仕様書無しさん
2007/03/21(水) 13:31:280304仕様書無しさん
2007/03/21(水) 16:22:160305仕様書無しさん
2007/03/21(水) 19:01:22Martin Fowlerを元ネタに
技術話のネタも書けねぇとは
とんだ池沼だな
0306仕様書無しさん
2007/03/21(水) 19:08:590308仕様書無しさん
2007/03/21(水) 19:15:47一向に議論展開できない 池沼>>1
0309仕様書無しさん
2007/03/21(水) 19:22:190310仕様書無しさん
2007/03/21(水) 20:00:030313仕様書無しさん
2007/03/21(水) 20:07:09ただmake installはいつも失敗していたようですが。
0316仕様書無しさん
2007/03/21(水) 21:37:54理解できない香具師が暴れるっつーのがこのスレの流れとして定着してきた感があるな。
0317ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/21(水) 21:42:50>>297
OOを批判してる人は100%理解している。
OOを支持してる人は20%くらい
0318仕様書無しさん
2007/03/21(水) 21:47:350319仕様書無しさん
2007/03/21(水) 21:50:260320仕様書無しさん
2007/03/21(水) 21:55:22よう、んぽぽん!
0323仕様書無しさん
2007/03/21(水) 21:57:280325仕様書無しさん
2007/03/21(水) 22:13:510326仕様書無しさん
2007/03/21(水) 22:53:52例えばPG組む時でも、複数のインスタンスを生成した方が便利そうな場合は、
OO使えばいいし、そうでなければ、普通の構造化だけでいいんじゃね?
つまり、1対多、多対多の関係をもつエンティティを扱う場合はOOがいいし、
単一或いは、1対1の関係しかないエンティティだけの場合は、OOいらないと。
しかし、言語の構造がもはやOOを前提にしちゃってるから、まぁ、カプセル化
ぐらいは使うか、とか、場合によっちゃ、継承やポリモも使っちゃうかぐらいの
感覚でいいんじゃねぇかと。 OOやるぞぉって身構えちゃう必要ないよな。
0327仕様書無しさん
2007/03/21(水) 22:55:210328仕様書無しさん
2007/03/21(水) 22:56:320329仕様書無しさん
2007/03/21(水) 23:03:16それって派生した奴の話じゃないの?
少なくとも、今まで読んだ本の中にシングルトンの話は出てないんで
必要性がさっぱりわからん。
0330仕様書無しさん
2007/03/21(水) 23:04:51複数インスタンス必要なものならいざしらず、単一インスタンスしか必要なく、
実行中に存在してればOKなものはシングルトンがむいている。
0331仕様書無しさん
2007/03/21(水) 23:09:05バカな真似をしたくない。
0332仕様書無しさん
2007/03/21(水) 23:10:300333仕様書無しさん
2007/03/21(水) 23:10:56そうなんだけど、多分そのやり方じゃうまくはいかないべ
OO覚えてしばらくは厨のように、全てにOO適用デザパタ適用するんだ。
そのうちOO/デザパタを「あえて省略できる」ようになってくる
0334仕様書無しさん
2007/03/21(水) 23:13:16やべえな
0335仕様書無しさん
2007/03/21(水) 23:15:38シングルトン*Nパターン
0336仕様書無しさん
2007/03/21(水) 23:17:21モジュールでOK。
0338仕様書無しさん
2007/03/21(水) 23:23:20OOでは普通に使うのか?
0339仕様書無しさん
2007/03/21(水) 23:24:430340仕様書無しさん
2007/03/21(水) 23:26:000341仕様書無しさん
2007/03/21(水) 23:26:08クラスメソッドで十分な場合も多い。特に単一スレッドの場合は。
0342仕様書無しさん
2007/03/21(水) 23:26:13このページを読んでみたが、
梅酒で酔っ払った俺には理解できねーw
0345仕様書無しさん
2007/03/21(水) 23:33:41なんとかパターンってのは覚えてないと
オブジェクト指向を理解した、とはみなされないのか?
なんとかパターンって定石みたいなんもんなんだろ?
0346仕様書無しさん
2007/03/21(水) 23:36:220348仕様書無しさん
2007/03/21(水) 23:43:26厨房の春、にっぽんの春。
0349仕様書無しさん
2007/03/21(水) 23:45:24ググればすぐ出てくるものだから覚える必要なんかないよ。
クラスをつかったパズルみたいなもので、頭かたいやつは名前と何の役にたつか
知っとけって感じ
ただし、我流OOPをある程度やった後じゃないと理解できん可能性があるかな。
0351仕様書無しさん
2007/03/21(水) 23:48:44サンクス。まあそんな感じだとは思った。
結論は、オブジェクト指向の根幹に関係ねーってことね。
明日シラフになったら調べてみるわ
0352仕様書無しさん
2007/03/21(水) 23:49:070353仕様書無しさん
2007/03/21(水) 23:55:40この度、このようなレスを352が行うに至ったことは、
主治医として、大変残念な事であり、また、治療の効果が
まだまだ現れていないことを証明しているため、そろそろ
最終的な決断を下す必要があるようです。
みなさんお聞きになったことがあるかもしれませんが、
必ずしも心の病は、特殊な病気ではなく、誰もがそうなる
可能性があります。しかし、だからといって、これ以上、
352を放置することは、例えば何の関係もない人を傷つけたり、
逆に352自身の将来にとり、名から図示も良いことではありません。
そこで、私は、352の両親、臨床心理士などとも相談して、
352をしばらくの間、ネットの出来る環境から離して、
濃密な人間関係の中で治療をすることにしました。
352にとっては、納得がいかないことかもしれませんが、私も、
医師免許をかけて、352を徹底して直すことに致しました。
どうかみなさん!352が戻ってきましたら、このような人を悲しませる
スレではなく、みんなに感動を届ける以上の人間になっていると思いますので、
暖かく見守ってやってください。
0354仕様書無しさん
2007/03/21(水) 23:58:230356仕様書無しさん
2007/03/22(木) 00:01:34システム開発はラクになるんだ?
0357仕様書無しさん
2007/03/22(木) 00:02:32速やかにスレより非難してください
0358仕様書無しさん
2007/03/22(木) 00:07:040360仕様書無しさん
2007/03/22(木) 00:19:27>>352-353
「日本初の基幹系大規模OO開発を成功させる」
とか大言壮語したなんちゃってコンサルが、
国内のマイグレーション現場の現実を事前に知らずに、
そのまま現場のグダグダに巻き込まれてしまうのは
失笑に値する。
・・・そういう現実を皆知ってるから、
基幹系とか大規模開発には関わらないようにしてるんだってw
0361仕様書無しさん
2007/03/22(木) 00:23:04金融〜証券の基幹はほぼドキュソの世界。
0364仕様書無しさん
2007/03/22(木) 00:32:42金が余ってるとか、なんとなくとか、
いろいろ理由があるんだろ
0365仕様書無しさん
2007/03/22(木) 00:48:500366仕様書無しさん
2007/03/22(木) 00:53:46OO経験なんて確認する現場なんて聞いたことねー
0368仕様書無しさん
2007/03/22(木) 01:05:440369仕様書無しさん
2007/03/22(木) 01:10:27人集めする権限を自分で持つか、権限を持った人物と知り合いになるかすればよくて
それはそんなに難しくないだろ。
0370ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:16:15なぜ全体を支配しようとする?
いざとなったら逃げるか放置の癖に
0371仕様書無しさん
2007/03/22(木) 01:17:06この糞コテ
0372ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:17:190373ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:20:23この板でオセロでOO勝負したけどOO厨みんな逃げたね
0374仕様書無しさん
2007/03/22(木) 01:20:490378仕様書無しさん
2007/03/22(木) 01:26:040379仕様書無しさん
2007/03/22(木) 01:28:100380ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:31:21開発時間とソース公開やったの。
OOの生産性は構造化の1/10くらいだった
0381ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:32:04J2SDK1.4だべ
0382仕様書無しさん
2007/03/22(木) 01:32:570383仕様書無しさん
2007/03/22(木) 01:33:410384ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:34:58Javaどこいった?
0386ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:37:080387仕様書無しさん
2007/03/22(木) 01:37:440388ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:37:54と書いておこう
0389仕様書無しさん
2007/03/22(木) 01:37:54修正が効き易いという話は聞くが。
っつーわけで開発時間を単純に比較しても仕方ない罠。
0390ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:38:270391ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:40:27OO関係ない。
0392仕様書無しさん
2007/03/22(木) 01:40:44酔っ払ってんのか?
0393仕様書無しさん
2007/03/22(木) 01:43:02薬物じゃね
0394ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:44:15質問の一部だけ書かれても意味が判らない。
全文書くか、ハンドルつけるように。
0395仕様書無しさん
2007/03/22(木) 01:45:31全体的に支離滅裂で主張が分からん
0397ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:47:065年前もOO厨は「保守性は高い」と逃げたけど、証拠を提示できなかった。
さらに最初は「OOは生産性高い」と触れ込んでたのに、あっさり撤回してたその厚顔さにあきれたもんだ。
0399仕様書無しさん
2007/03/22(木) 01:49:02実験の詳細を示せ
この程度の内容でまともな文章を書けないとか
お前の程度の低さを証明して終わりでいいのか糞コテ
0400ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:49:05実証に反する理論を掲げ続けるのは空理空論という。
0401仕様書無しさん
2007/03/22(木) 01:49:510402ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:50:120403ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:52:37対してOO側は誰も提出せず、逃げ回ってた
一ヶ月と少し経って、やっとOOオセロが提出されたけど、完成度は構造化のみのより低かった。
0404仕様書無しさん
2007/03/22(木) 01:52:43で、その生産性って奴が構造化10に対してOOが1ってことを主張したいんだよな?
そのソースを出してみれ。
3丁目のおじさんが言ってたよ、なんて話は役に立たんだろ。
0405仕様書無しさん
2007/03/22(木) 01:52:53懐かしいパターンだな
0406仕様書無しさん
2007/03/22(木) 01:53:28お前の言ってる実証って
他人に内容を伝えられない程度の妄想なんだね
OKOK 帰っていいよ
0407仕様書無しさん
2007/03/22(木) 01:53:37こんな話に付き合ってた俺がどうかしてたわ
0408ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:54:03切れてやんのww
0409仕様書無しさん
2007/03/22(木) 01:54:470410仕様書無しさん
2007/03/22(木) 01:54:54よくその頭で厚顔無恥なレス繰り返せるもんだ
オレにはできん
0411仕様書無しさん
2007/03/22(木) 01:55:200412仕様書無しさん
2007/03/22(木) 01:55:37なぁ、まさか、それ煽ったつもりなの?
0413ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 01:55:42やっとみつかった
http://java.sun.com/javase/ja/6/download.html
0414仕様書無しさん
2007/03/22(木) 01:56:360415仕様書無しさん
2007/03/22(木) 01:56:440416仕様書無しさん
2007/03/22(木) 01:59:35ほとんどロジックの実装だっつうの。こんなんで優劣比べようなんて、どうか
してる。オセロ作るんだったら、そりゃ構造化だけでも全然OKだわな。なんで
もOOって考える方が柔軟性なさすぎ。もちっと頭柔らかくしような。
どうせゲームなら、種族や職業が100種類以上あるようなRPGで勝負すっか?
0417仕様書無しさん
2007/03/22(木) 02:01:520418仕様書無しさん
2007/03/22(木) 02:02:50いい大人が、愚にもつかないレス垂れ流してみっともないだろ。
プログラムの生産性や拡張性なんざ作り手に拠るなんてことは
だれでも知ってるし、ならオセロつくる競争なんてやったってOOが
いいか悪いかなんて判断しようがないだろ。
なんでもいいから議論するに足る意見を書きこんでみろや。
0419仕様書無しさん
2007/03/22(木) 02:03:32じゃーな
0420仕様書無しさん
2007/03/22(木) 02:04:40そこはシムシティで行こうぜ
0421仕様書無しさん
2007/03/22(木) 02:11:57出来ないものかねえ。
0422仕様書無しさん
2007/03/22(木) 02:12:190423ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 02:14:520424仕様書無しさん
2007/03/22(木) 02:16:540425仕様書無しさん
2007/03/22(木) 02:17:30そこは不問にしてあげたほうがいいのか?
0426仕様書無しさん
2007/03/22(木) 02:19:030427仕様書無しさん
2007/03/22(木) 02:19:13生産性とか保守性とか語れるレベルじゃねーと思う
0428仕様書無しさん
2007/03/22(木) 02:38:53尻切れ蜻蛉だな・・・
流石と言うべきか
0429仕様書無しさん
2007/03/22(木) 02:54:160430仕様書無しさん
2007/03/22(木) 03:14:090431仕様書無しさん
2007/03/22(木) 03:14:22期限めちゃくちゃやし・・・
明日バックレ宣言してやる!!!マジで!
こんなPJしったことか
0432仕様書無しさん
2007/03/22(木) 09:19:58違う、OO的オセロは自軍の石がそれぞれ独立した個を持っており、その協調で戦略が完成するんだよ。w
0434仕様書無しさん
2007/03/22(木) 09:34:16駒は位置属性と色しか持たず、複数の駒を決められたルールで管理するのはボード。
0435仕様書無しさん
2007/03/22(木) 09:50:320436仕様書無しさん
2007/03/22(木) 10:40:46あとMVCも
0437仕様書無しさん
2007/03/22(木) 10:46:29隣の駒への参照ぐらいは持ってても良いかもね。
0438仕様書無しさん
2007/03/22(木) 11:00:07哲学論で否定、肯定はせずに、まずは参考URLを読んだ上で語りましょう。
【参考ページ】
ドメインモデル貧血症
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?AnemicDomainModel
ドメインロジックとSQL
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
データ中心指向とオブジェクト指向
ttp://hp.vector.co.jp/authors/VA020635/system/dataorient.html
さあ、張り切っていきましょう。
403 名前: ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84. 投稿日: 2007/03/22(木) 01:52:37
JAVAオセロは三日くらいでできたよ 仕事終わって家でやった。
対してOO側は誰も提出せず、逃げ回ってた
一ヶ月と少し経って、やっとOOオセロが提出されたけど、完成度は構造化のみのより低かった。
竜頭蛇尾だな。
やっぱバカか
0439仕様書無しさん
2007/03/22(木) 11:01:45がする。気のせいか・・・
0440仕様書無しさん
2007/03/22(木) 11:04:330441仕様書無しさん
2007/03/22(木) 12:41:180442仕様書無しさん
2007/03/22(木) 12:53:34OOなんか使ってちんたらやってられっかよ。
データは配列で十分だ。
0443仕様書無しさん
2007/03/22(木) 13:31:280444仕様書無しさん
2007/03/22(木) 13:50:54OOにニートは不要。
終了
0445仕様書無しさん
2007/03/22(木) 16:38:54単純な意味での生産性ではOO的な手法が従来的な手法より劣るという点では
電球の意見も理に適っている。
ただし、実際にはコードの再利用性や保守性が上がる効果が
OOにはあるので単純な比較は難しいけどな。
0446仕様書無しさん
2007/03/22(木) 17:27:170447仕様書無しさん
2007/03/22(木) 17:51:510448仕様書無しさん
2007/03/22(木) 18:02:39は強い方がいいとはされているが、これも場合によりけりである。
ルーチンレベルでの凝集度について検討することがヒューリスティクス
の観点から効果的であることには異論は無い。なかなか現場では実践さ
れないのが残念だが。
0450仕様書無しさん
2007/03/22(木) 18:31:540452仕様書無しさん
2007/03/22(木) 19:35:330453ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 20:17:18Javaなんで環境整えないと動かない。
http://vipup.sakura.ne.jp/512kb/src/512kb_8346.lzh
環境は C:\Program Files\Java\jdk1.6.0\ だ。
0454ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 20:18:18フィルターかかってんのか?
0455仕様書無しさん
2007/03/22(木) 20:22:090456仕様書無しさん
2007/03/22(木) 20:28:11ってなんだよ。readmeぐらい入れとけや、ヴぉけ!
0457ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 20:30:51今度は成功
0458仕様書無しさん
2007/03/22(木) 20:41:58羨ますぃー
0459仕様書無しさん
2007/03/22(木) 20:56:030460仕様書無しさん
2007/03/22(木) 21:02:25OOに糞コテは不要。
終了
0461仕様書無しさん
2007/03/22(木) 21:17:25UI廻りだけか。どうせなら、全部クラス変数とクラスメソッドにしろよ。
public だらけじゃん。意味ねぇ〜
0463仕様書無しさん
2007/03/22(木) 21:32:040464仕様書無しさん
2007/03/22(木) 21:33:54池沼にOOは不要。
OOに池沼は不要。
池沼の方は巣 ( http://etc6.2ch.net/denpa/ ) にお引取り下さい。
終了
0465仕様書無しさん
2007/03/22(木) 21:39:11そういう意味では、>>457はプロトタイプとしてはまぁまぁ
の出来だと言えるのではないか。
0466仕様書無しさん
2007/03/22(木) 21:42:24View部
(略)
Model部
Game 1回戦分のゲーム
Score 対戦記録 (コマンドパターンで譜の再現等)
Step 一手 (Commandパターン)
Board 盤面の管理
Player プレイヤ (人間およびコンピュータ)
Strategy コンピュータ側思考 (Strategyパターン)
0467仕様書無しさん
2007/03/22(木) 21:48:04LDUF: Little Design Up Front
ENUF: ENough design Up Front
0468仕様書無しさん
2007/03/22(木) 21:49:050469仕様書無しさん
2007/03/22(木) 21:52:44あと、審判(指し手交代、パス回数、得点の管理)とか、
ルール(StrategyパターンでOthello/Reversi/源平碁等のルール切替)
があっても良いかもな。
0470仕様書無しさん
2007/03/22(木) 21:58:12保守性だのなんだのって馬鹿も休み休み言えってカンジだな
0471仕様書無しさん
2007/03/22(木) 21:59:10ソースも読めない池沼にOOは不要。
池沼の方は巣 ( http://etc6.2ch.net/denpa/ ) にお引取り下さい。
終了
0473仕様書無しさん
2007/03/22(木) 22:08:370474仕様書無しさん
2007/03/22(木) 22:09:11privateが一個もねーし
全然Javaが分かってねーだろ
0475ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:10:340476仕様書無しさん
2007/03/22(木) 22:10:55「設計する上でセマンティック結合は避けた方がいいな、」
=設計時には疎結合を心掛けよ。
画面中心設計で画面に密着したクラス設計をすると、
変更の自由度や再利用性が失われる。
「一般に凝集度 は強い方がいいとはされているが、これも場合によりけりである。 」
=一般に、関連するデータと処理は
一まとめにした方がいい (=クラス化、ひとまとまりのクラス)
と言われるが、これによって前述の密結合が発生するのは論外である。
「ルーチンレベルでの凝集度について検討することが
ヒューリスティクス の観点から効果的であることには異論は無い。」
=むしろ、関連するデータと処理は、手続き(処理)レベルで
一まとまりにした方がいい、ってCOBOL現場のおっちゃんが言ってたから
それがいーと思いまーす。トランザクション・スクリプト、マンセー
漏れはOOコンサルやめて、手続き型プログラミング・コンサルに堕ちまーす。
「なかなか現場では実践さ れないのが残念だが。 」
=COBOL現場の常識を、OO屋は理解していない。
COBOLの常識を取り入れた俺様こそ日本一のコンサルでーす。
0479ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:14:260480仕様書無しさん
2007/03/22(木) 22:14:51OO以前の問題だろ
真性のアホか?
0481ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:15:210482仕様書無しさん
2007/03/22(木) 22:15:29http://images.google.com/images?hl=ja&lr=&q=%E3%82%88%E3%81%8C%E3%82%8A
0484ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:15:59毎回同じだね。
0485仕様書無しさん
2007/03/22(木) 22:16:190487仕様書無しさん
2007/03/22(木) 22:17:06で、ココ壱番。 おまいは何をしたいの?
お前が糞ソースをUPしたからといって、
俺達がそれに付き合う義務はない。
上に思いつきで書いたクラス分割を参考に、
OO化したソースを書けばいいんじゃねぇの?
0490仕様書無しさん
2007/03/22(木) 22:18:30威勢がいいなぁ。
おじさん、威勢がいい子は好きだぞ。
次はおまいがUPしる
0491仕様書無しさん
2007/03/22(木) 22:18:380492仕様書無しさん
2007/03/22(木) 22:20:145年前にパクったソースうpしただけじゃねぇの?
これは、ソース内容説明できるかどうか
テストする必要があるなw
0493仕様書無しさん
2007/03/22(木) 22:20:440494仕様書無しさん
2007/03/22(木) 22:23:58問1: 思考ルーチンのアルゴリズムを説明せよ。
問2: 思考ルーチンの評価ポイントの根拠を説明せよ。
まずはこれからだな。
これを簡単に説明できないようなら、パクリ決定
0495ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:24:31そこでハンドルを「逝って良しの1」とした。
0497仕様書無しさん
2007/03/22(木) 22:26:10できる奴は遊びソースでも必要にあわせて定数はちゃんと定義するし
なんだこりゃ?定数と変数の違いぐらい勉強しとけよ・・・
↓ソース引用
/**ゲームボードのウィンドウ上の水平表示位置*/
public int DESIGN_BOARD_X = 0; //盤
/**ゲームボードのウィンドウ上の垂直表示位置*/
public int DESIGN_BOARD_Y = 24;
/**ゲームボードの幅*/
public int DESIGN_BOARD_W = 400;
0498仕様書無しさん
2007/03/22(木) 22:26:330500ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:27:58数手先まで見るときは相手側もそれに対して最大の評価を得られる手を打ってくるとみなして
再帰評価しているのだ。
評価ポイントは裏返せる数+隅っこのボーナス。
辺および四隅は評価が高い。
0502仕様書無しさん
2007/03/22(木) 22:29:02問3: 評価関数のアルゴリズムを説明せよ。
次はこれだな。
これを説明できないようなら、ソース作成者と認められない
0503ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:29:370504ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:30:250506仕様書無しさん
2007/03/22(木) 22:31:17そんな年寄りをあまりいじめるなよ。
そりゃ、お舞らに比べればはるかに実力が低いの電球だって骨の髄まで解ってよ
0507仕様書無しさん
2007/03/22(木) 22:31:390508仕様書無しさん
2007/03/22(木) 22:32:34score += 200;
0509仕様書無しさん
2007/03/22(木) 22:33:51あのな、まじめに答えてやるけどさ、
マジでプログラマーとしてやっていくつもりなら、
ちゃんと勉強した方がいいぞ
必要性を見出せないんじゃなくて、わかんねーんだろ
虚勢を張っても分かってる奴が見れば、冷笑もんのソースなんだよ
うまいプログラマーってのは、下手に作ろうと思っても作れないの
お前のソースは下手な奴が作ってるから、下手なソースなんだよ
0510仕様書無しさん
2007/03/22(木) 22:34:07少しぐらいソースが汚くたって、俺は尊敬するな。お前らにでき
んのかよ。
0511ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:35:56elseじゃないほうはとられる
0512仕様書無しさん
2007/03/22(木) 22:36:33内容に一切突っ込めない >>509が
偽者のヨカーン。
あと、問1, 問2はソース読みゃ誰でも判るけど、
問3 は作成者じゃないと説明しにくい。
説明を出ししぶるココ電球はパクリ魔のヨカーン。
0513仕様書無しさん
2007/03/22(木) 22:36:36でもfinal知らない(使わない?)のは不勉強過ぎるんでわ
0514仕様書無しさん
2007/03/22(木) 22:36:420515仕様書無しさん
2007/03/22(木) 22:37:24final厨房=しったか
0516仕様書無しさん
2007/03/22(木) 22:37:45虚勢張ってる厨房にしか見えない。
0517仕様書無しさん
2007/03/22(木) 22:38:14ココ電球よ、おまいは何を望んでいるんだい。
0518仕様書無しさん
2007/03/22(木) 22:40:19ヒント:ウィンドウサイズ変更への対応
0519ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:40:370521仕様書無しさん
2007/03/22(木) 22:43:310522ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/22(木) 22:43:490523仕様書無しさん
2007/03/22(木) 22:45:37そう信じて5年間も彷徨い続けたココ電球。
しかし「真実などどこにもない」という老師の言葉に
ただただ唖然とするばかりであった。
0524仕様書無しさん
2007/03/22(木) 22:47:02「なぜ、あなたはJavaでオブジェクト指向開発ができないのか」
0525仕様書無しさん
2007/03/22(木) 22:48:18どの現場からもお荷物扱いされてるんだろうな
ちょっと同情するわ
0526仕様書無しさん
2007/03/22(木) 22:48:31>>373-523は削除。
>>1は、議論の土俵を用意されても
一向に議論展開できない池沼だったと言う事で
このスレ
終了
#part1, part2はまともだったんだけどね
0527仕様書無しさん
2007/03/22(木) 22:51:520528仕様書無しさん
2007/03/22(木) 22:52:560529仕様書無しさん
2007/03/22(木) 22:53:00糞コテらしい
0531仕様書無しさん
2007/03/22(木) 22:54:420532仕様書無しさん
2007/03/22(木) 22:55:170533仕様書無しさん
2007/03/22(木) 22:57:15ユースケースってどうよ?
0534仕様書無しさん
2007/03/22(木) 22:58:14ユースケース分析って、機能中心のシステム分析に対するアンチテーゼだろ。
0535仕様書無しさん
2007/03/22(木) 23:00:00システムが提供すべき機能を洗い出す分析手法だろw
0536仕様書無しさん
2007/03/22(木) 23:00:140537仕様書無しさん
2007/03/22(木) 23:00:300539仕様書無しさん
2007/03/22(木) 23:03:040540仕様書無しさん
2007/03/22(木) 23:03:230542仕様書無しさん
2007/03/22(木) 23:07:480543仕様書無しさん
2007/03/22(木) 23:10:210544仕様書無しさん
2007/03/22(木) 23:13:02やっぱり用語の乱立も理由の1つなんだろうな
0545仕様書無しさん
2007/03/22(木) 23:13:430546仕様書無しさん
2007/03/22(木) 23:15:460547仕様書無しさん
2007/03/22(木) 23:16:250548仕様書無しさん
2007/03/22(木) 23:20:55イパーイ実践して、イパーイ失敗して、そうやって感覚的に
身に着けていくものだ。イパーイ、イパ−イ、イパ-ィ...
0549仕様書無しさん
2007/03/22(木) 23:23:18なんつーか、何が正解なのかがはっきり言えないところがな〜
0550仕様書無しさん
2007/03/22(木) 23:26:54荒らし本人。
推奨されるまでもなくデフォで無視。
0551仕様書無しさん
2007/03/22(木) 23:30:070552仕様書無しさん
2007/03/22(木) 23:35:50ゆとり教育世代乙。
リアルな世界には正解を示してくれる先生などという
絶対的存在など居なくて、
ただ「(ある面から見て)より良い(と思われる)方法」があるだけなのだよw
0553仕様書無しさん
2007/03/22(木) 23:40:58あるじゃん。んで、わざわさその本取り寄せて、読むとその本にも、詳し
くはこの本読めとか書いてあるわけよ。もうきりが無くてさ、何処まで勉
強したらええねんと。モチベーションもガクーンと下がるわけさ。そして
気づいたら、アレ? 俺、なんで、開発設計の本じゃなくて、建築デザイン
の本とか読んでんだっけとかなるわけよ。まったくこいつらつるんでると
しか思えねぇ。市ね。
0556仕様書無しさん
2007/03/22(木) 23:51:090558仕様書無しさん
2007/03/22(木) 23:52:580559仕様書無しさん
2007/03/22(木) 23:53:490560仕様書無しさん
2007/03/23(金) 00:25:03なんてことで悩んだりすることが当然出てくる。
こういうことを繰り返していかないとOOは身につかない
偽装請負で作業場所がコロコロ変わるようなこの業界で、
オブジェクト指向の要員なんか探す方が難しい
0561仕様書無しさん
2007/03/23(金) 00:30:19がんばれ。
俺もStrutsSpringHibernateでオセロ作ってみるわ。
誰かOOまとめWiki作らね?あればそこにうぷするわ。
0562仕様書無しさん
2007/03/23(金) 00:40:24高層建築に適した設計論で犬小屋を作るのは無駄でしかない。
犬小屋には強度計算も必要なければ、資材調達計画も
必要ない。いいか?このスレのオセロの例はそれだ。犬小屋を作って見せて
無駄だと言っている。お前ら、リアルで厨房だろう?春休みで暇なのはわかるが、
留年しないように頑張れよ。
0563仕様書無しさん
2007/03/23(金) 00:43:13そういう荒唐無稽なプログラムは
学生時代じゃないと決して組むチャンスは無いから
まあ頑張れ。
完成したら教えてくれ。じゃ
0564仕様書無しさん
2007/03/23(金) 00:49:16その前にオセロのマスっていくつだったっけ?
0565仕様書無しさん
2007/03/23(金) 00:51:510566仕様書無しさん
2007/03/23(金) 00:53:10おまぃ いい奴だな
0567仕様書無しさん
2007/03/23(金) 01:03:080568仕様書無しさん
2007/03/23(金) 01:05:210569仕様書無しさん
2007/03/23(金) 01:11:140570仕様書無しさん
2007/03/23(金) 01:12:540571仕様書無しさん
2007/03/23(金) 01:13:25Pjを辞めた渡しは正解ですか?
0572仕様書無しさん
2007/03/23(金) 01:14:380573仕様書無しさん
2007/03/23(金) 01:15:240574仕様書無しさん
2007/03/23(金) 01:23:370575仕様書無しさん
2007/03/23(金) 01:26:450576仕様書無しさん
2007/03/23(金) 01:29:400577仕様書無しさん
2007/03/23(金) 01:42:39お前は暇つぶしのために7年間に渡って
2ちゃんのスレを荒し続けた。
その結果、もう誰も2ちゃんになど来なくなった。
お前の残りの人生は、誰も居ない2ちゃんで
ただひたすら独り言を書き続けることになる
・・・命ある限り、永遠に
0578仕様書無しさん
2007/03/23(金) 04:01:49その次エクセルマクロ。
あとは必要ないよな。
改良もされてくるだろうし。
0579仕様書無しさん
2007/03/23(金) 04:04:080580仕様書無しさん
2007/03/23(金) 08:37:22混乱してくる
0581仕様書無しさん
2007/03/23(金) 10:25:320582おじゃばさま
2007/03/23(金) 10:27:34#define BORD_SIZE_X (10)
#define BORD_SIZE_Y (10)
class Board{
public:
// コンストラクタ(初期配置を行う))
Board(){}
~Board(){}
// 石を置く
bool put(int x, int y, bool c){
bool ret = false;
if(canPut(x, y, c)){
put(x, y, c);
ret = true;
}
return ret;
}
// 終了判定
bool isEnd(){}
// 結果出力
bool total(){}
private:
// 石が置けるか判定する
bool canPut(int x, int y, bool c){}
// 石を置き、囲まれた範囲を裏返す
void put(int x, int y, bool c){}
// ボード情報
bool tbl[10][10];
};
0583おじゃばさま
2007/03/23(金) 10:29:36public:
void play(){
for(int cnt=0; bd.isEnd(); cnt++){
int x, y;cin >> x;cin >> y;
bd.put(x, y, (cnt%2)==0));
}
bd.total();
}
private:
Board bd;
};
int main(int argc, char argc[]){
int ret = 0;
Game gm;
gm.play();
return ret;
}
0584おじゃばさま
2007/03/23(金) 10:30:510585仕様書無しさん
2007/03/23(金) 10:33:53クラスを使った構造化なだけ
ここのスレに書くならば
・無駄な処理と分かっても無理やりOO的に書く
・時間が1000倍かかっても無理やりOO的に書く
・見通しがかえって悪くなったとしても無理やりOO的に書く
これがこのスレの掟
0587仕様書無しさん
2007/03/23(金) 11:29:50何の役にたつんだこの糞コテ。
0588仕様書無しさん
2007/03/23(金) 11:36:01これだと結局、石を交互に置くというルールしか表現されてないわけだが。
オセロっつったらコンピュータの思考ロジックが一番の肝だろうが、ヴぉけ
0589仕様書無しさん
2007/03/23(金) 11:43:33次々と自爆荒らししていくんじゃねぇっつーの
0590仕様書無しさん
2007/03/23(金) 11:45:010591おじゃばさま
2007/03/23(金) 12:04:28ゲーム盤には石を置く機能と、終了判定機能、結果表示機能を持たせるべきだ。
思考ロジックはゲーム盤に入れる機能ではなく、プレイヤークラスを作りそっちに入れるべきだ。
って事だよ。分かった?
0592仕様書無しさん
2007/03/23(金) 12:12:560593仕様書無しさん
2007/03/23(金) 12:23:340595おじゃばさま
2007/03/23(金) 12:43:38なぜならボードクラスはボードゲームを抽象化したもので、石を置き、終了判定をして、結果を表示するのは、
他のボードゲーム(将棋、囲碁など)にも共通するからだ。これならば、ゲームの内容が変わっても
構造を変更する必要がない。
そしてプレイヤークラスに思考ロジックを実装するのは、プレイヤーを抽象化する事になる。
例えばプレイヤーにはオセロを知っていてやる人ばかりでなく、もしかしたら占いで打ったり、
勘で打ったりする人もいるかもしれない。それをボードには実装するのは明らかに変だ。
0596仕様書無しさん
2007/03/23(金) 12:46:00思考ロジックを含めてことコンピュータオセロゲームだっつってんの。
0597仕様書無しさん
2007/03/23(金) 12:46:33おいおい、お前のオセロ盤は
初期配置から盤面が石で埋まっているのか、と。
0598仕様書無しさん
2007/03/23(金) 12:46:44プレイヤークラスを継承して人間・COM
COMをさらに継承し思考パターン毎にクラスを
0599仕様書無しさん
2007/03/23(金) 12:49:130600598
2007/03/23(金) 12:49:52再ゲームはゲームクラスのインスタンスを再生成して行う
0601466
2007/03/23(金) 12:51:47(略)
Model部
Game 1回戦分のゲーム
Score 対戦記録 (コマンドパターンで譜の再現等)
Step 一手 (Commandパターン)
Board 盤面の管理
Player プレイヤ (人間およびコンピュータ)
Strategy コンピュータ側思考 (Strategyパターン)
あと、審判(指し手交代、パス判定、パス回数、終了判定、得点の管理)とか、
ルール(StrategyパターンでOthello/Reversi/源平碁等のルール切替)
があっても良いかもな。
0602仕様書無しさん
2007/03/23(金) 12:51:540603仕様書無しさん
2007/03/23(金) 12:54:030604仕様書無しさん
2007/03/23(金) 12:56:40プレイヤーとCOMプレイヤーは親クラスかインターフェース作って
内部からは同じインターフェースで呼べるようにしたほうが
COMvsCOMやプレイヤーvsプレイヤーにするとき楽では?
0605604
2007/03/23(金) 12:57:180606仕様書無しさん
2007/03/23(金) 13:04:49ルールに従ってJudge, Player, Strategy, (あと場合によっては Board)
の挙動を変えるのは結構めんどい。
単に別途用意したクラスと切り替えるだけなら楽だが。
0607仕様書無しさん
2007/03/23(金) 13:05:28タンパク質解析プロジェクトFolding@homeで病気で苦しむ人達を救えるかも。
PS3でFolding@homeしようぜ(Team 2ch)
http://ex22.2ch.net/test/read.cgi/ghard/1174030817/
チーム番号:162
チーム名:Team 2ch
http://fah-web.stanford.edu/cgi-bin/main.py?qtype=teampage&teamnum=162
☆PS3での参加方法
PS3からFolding@homeを起動し、チーム番号162に入力すればOK。
ユーザ名は何でも良いが、http://folding.stanford.edu/japanese/download.html
にて、名前が既に使われているかどうか確認する事を推奨。
参加の確認としては、「オプション(△)」→「関連サイト」→「チーム処理統計量」と開き、
「Team 2ch」(上記URLのページ)が表示されればちゃんと参加できている。
☆Folding@homeについて
http://folding.stanford.edu/japanese/
0608仕様書無しさん
2007/03/23(金) 13:08:17別のボードゲームだったら、それこそPlayerもJudgeもBoardやStrategyも
そのボードゲーム用に新調した方が良いんでないかと。
0609おじゃばさま
2007/03/23(金) 13:09:32この課題の場合、初心者が陥りやすいのは思考ロジックをボード入れようとする事だ。
そのために敢えて思考ロジックを除外してある。って事だよ、分かった?
>597
その通りでした。intにします。
いやむしろ、enumにしよう。
enum STONE{
WHITE, BLACK, NONE
};
>599
肝心な設計部分はあれで完了だ。
細かい実装はここにいる人間なら、出来て当然なレベルだろう?
そんなの俺にやらせるのか?
0610604=608
2007/03/23(金) 13:10:13俺全然ダメだな。
0612おじゃばさま
2007/03/23(金) 13:34:45オブジェクト指向モジュール分割の参考にしろって事だよ。
オセロ作ってもしょうがないだろう。
0613仕様書無しさん
2007/03/23(金) 13:43:300614仕様書無しさん
2007/03/23(金) 14:03:40>参考にしろって事だよ。
○ 参考になった
○ 参考にならなかった
● 使えねー奴だとわかった
>閉鎖空間
俺用語なのか単なるヲタなのか知らんが
どっちみち思考ルーチンに関しては触れないんだろうから
有限確定の二人零和完全情報ゲームだろうと何だろうと関係ないっしょ。
0615仕様書無しさん
2007/03/23(金) 14:08:43・先行後攻、初期配置
・ボード形状
(リバーシは8x8以外あり
ニップは円形で線の交点に駒を置く)
・終了判定
位。
ルール・クラスの記述方法を工夫して
・どのローカルルールも記述可能な汎用の枠組み(スキーマ)を作っておいて、
・ローカルルールはその枠組みの中で記述し、
・あと、ルールの影響を受けるクラス(Judge,Player,Board,Strategy)
への変更点をStrategyパターンかなんかで提供
とかすれば、一見うまくいきそうだけど・・・
実際は、コンピュータの思考部分(ComStrategyクラス)も入れ替え対象だから、
上の三番目・のように、Ruleクラスと密結合した設計はあまりおすすめできない。
0616仕様書無しさん
2007/03/23(金) 14:23:41オブジェクト指向を語っているみたいだな。。。
0617仕様書無しさん
2007/03/23(金) 14:27:290618仕様書無しさん
2007/03/23(金) 14:53:020619仕様書無しさん
2007/03/23(金) 15:17:46>>1のやりたい事と全くちがうだろう。反論とかそういう問題以前の話。
そういう大きいくくりもコントロールできない>>617 >>618
は設計を語る以前の状態。
0620仕様書無しさん
2007/03/23(金) 15:25:41だから最初にそれを言ったのに、コードしか語れない馬鹿PGがそれを否定したわけで。
0621仕様書無しさん
2007/03/23(金) 15:27:37またバカのグダグタ展開か
0623仕様書無しさん
2007/03/23(金) 16:26:11ルール毎に思考ルーチンを作った方がいい。
つまり、思考ルーチンはあらかじめルールを知りつくしている前提で次の一手を出し、
審判はその手がルールに従っている事のみチェックする。
すると、ルールクラスと思考クラスは密に結合する必要はなくなる。
(思考クラスが内部的に別のルールクラスを持っていて、
思考クラスの出力が偶然、外側のルールにも従っている、というイメージ)
0624仕様書無しさん
2007/03/23(金) 16:28:02開発プロセスの中で、要求は策定ではなく想定される可能性があり、
アーキテクチャはうやむやにされる可能性があり、テストは短縮さ
れたり省略される可能性がある。だがコードは必ず書かれる。
コードの改善ほど実り多い領域はないとエロい人もいってるぞ。
06251
2007/03/23(金) 16:31:38このスレは設計、実装含めた形でのOOに関する話題について語り合う目的で立てています。
なので設計だけ、実装だけといった縛りは特にありません。
設計には方針レベルからデザインパターンなどの実装設計レベルまで幅広くあります。
いままでの流れをみるかぎり、各々OOに対する考え方や適用レベルが異なるため、煽りや中傷のレスが書き込まれていますが、
書き込む方はどのスコープでOOを適用するかを伝えた上で書き込むのが良いかと思います。
なお、私的な意見ですが、厳密に自分の意図を伝えるために実装サンプルと合わせて説明することは良いプラクティスだと思います。
書き込みを読む方も、自分の考え方と違う考え方だからといって否定するのではなく、
改善策や自分の考え方を書いてみましょう。
0627仕様書無しさん
2007/03/23(金) 17:06:50※1 思考がルールに直接依存
実装を考慮した設計クラスでは別の形※2になり得る、
という話。
※2 思考は内部ルールにのみ従う。
思考から得られた「手」は
プレーヤが盤面上に打って初めて、
審判チェックという形で外部ルールと関連する。
0628仕様書無しさん
2007/03/23(金) 17:18:54石を置けるかどうかの判定が全く機能してないんでは。
置けないとこに入力しても白黒番かわっちゃうんじゃないの?
0629仕様書無しさん
2007/03/23(金) 17:23:22>ttp://pc11.2ch.net/test/read.cgi/prog/1152383007/
0631仕様書無しさん
2007/03/23(金) 17:37:16オセロの石(Piece)は分析クラスにも設計クラスにも入れといた方が良さそうだな。
分析上の理由:
・現実世界に石は存在する。
・ある種のローカルルールでは、プレーヤの持ち石の数が制限されている。
(リバーシ・ルール。いずれかの持ち石が無くなったら終了)
設計上の理由:
・実装Othello2でリバース・アニメーションをやっている関係上、
石クラスがあり、そのViewクラスでアニメーションを表示する、
というクラス分割が自然に見える。
実装上の注意点:
・思考ルーチン内では通常、
盤面をbitmap配列として保持し、石はbit列として表現される。
ここに石クラスを持ち込むのは、ナンセンスである。
・もし、bitmap配列とボードクラス、石クラスを関連付ける必要があるのであれば、
Flyweightパターンの適用を検討するとよい。
0632仕様書無しさん
2007/03/23(金) 18:04:30特にアニメーション。そういう意味では電球は馬鹿なりによく作ってる。
電球の場合は、駒反転のアニメーションの状態もintの配列で兼用させて
たみたいだけど、bit列だと表現できないな。つか、ON/OFFだとおじゃば
と同じで駒無しの状態が表現できなくね? ま、OOとは直接関係ないが。
0633仕様書無しさん
2007/03/23(金) 18:06:56ま、クラス設計はPG(コーダー)じゃなくSEの仕事だからな
クラス設計を夢見るCoder諸君、非常加油
0634仕様書無しさん
2007/03/23(金) 18:11:070635仕様書無しさん
2007/03/23(金) 18:12:35言われれば、当然後者だわな。
0636615
2007/03/23(金) 18:14:00class Rule {
public:
// 用語のカスタマイズ
virtual char *getTerm(char *termID);
// 見た目、ボード形状等のカスタマイズ
virtual int getColor(int colorID); // 配色
virtual bool isCellSurroundedByLine(); // 線の引き方
// (セル外周 or セル並び四方向)
virtual Size *getBoardSize(); // ボードサイズ
virtual BoardState getBoardShape(); // ボード形状
// 初期配置
virtual BoardState getInitialPlacement();
// 先攻後攻
virtual Side getFirst();
/* TODO: 先攻後攻決め処理(ジャンケン等)の提供 */
// 判定ルール
virtual bool canPut(BoardState b, Step s); // 石の置き場所チェック
virtual bool isPass(BoardState b, Side s); // パス判定
virtual bool isEnd(BoardState b, Score *s, Player ps[]); // 終了判定
// (置き場所なし、手詰まり、プレーヤの持ち石なし、等)
/* TODO: その他ルールがあれば追加。(時間制限等) */
/* TODO: ゲームに参加するオブジェクトが、ルールに準拠している事を監査/保証する仕組み */
};
0637615
2007/03/23(金) 18:14:32typedef enum { WHITE, BLACK } Side;
// ゲーム盤上のセル状態 (ボード形状や初期配置の記述に使用)
typedef enum { _WHITE=WHITE, _BLACK=BLACK, NONE, OUTSIDE } CellState;
// ゲーム盤の状態 (Ruleクラス記述用簡易版)
typedef struct {
int w, h; // 幅、高
} Size;
typedef struct {
Size size; // ゲーム盤の幅、高 (=二次元配列の幅、高)
CellState **b;// セル状態の二次元配列
} BoardState;
// 手クラス
class Step { /* 略 */ };
// 譜クラス
class Score {/* 略 */ };
// プレーヤクラス
class Player {/* 略 */ };
0638仕様書無しさん
2007/03/23(金) 18:19:55{黒, 白, 無し} の3状態=約1.5bitを表現すれば充分。
2bitあれば表現できる。
0639仕様書無しさん
2007/03/23(金) 18:24:090641仕様書無しさん
2007/03/23(金) 18:30:09コードは最も詳細なクラス図であり相互作用図だぞ。
>>638
bit列を使うメリットって何? 早いの? こんぐらい
のサイズを気にするご時勢じゃないよなぁ。
0642仕様書無しさん
2007/03/23(金) 18:39:25おまいら最強のリバーシプログラムしてみろよ
http://pc10.2ch.net/test/read.cgi/tech/1166749119/
おまいら最強のリバーシプログラムしてみろよ part2
http://pc11.2ch.net/test/read.cgi/tech/1169413998/
おまいら最強のリバーシプログラムしてみろよ part3
http://pc11.2ch.net/test/read.cgi/tech/1173784074/
0643仕様書無しさん
2007/03/23(金) 18:43:43膨大な対戦譜(数百万試合)の学習結果を要約して持っておく時に使われる手法。
高度な思考ルーチンを要求しなければ、関係ない話だ。
0644仕様書無しさん
2007/03/23(金) 18:44:450645仕様書無しさん
2007/03/23(金) 18:51:231bitでは表現できない。
0646仕様書無しさん
2007/03/23(金) 18:52:150647ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/23(金) 19:26:19なに偉そうにゴタク並べてるんだよ
0648ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/23(金) 19:29:30それからパス通せなくてさらに半数脱落だな。
Javaは不便だな。
0649ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/23(金) 19:30:42そんな難しく考える事は無い。
0650仕様書無しさん
2007/03/23(金) 19:46:18シミュレーションさせればいい。あとはスピードとの兼ね合いか。
0652仕様書無しさん
2007/03/23(金) 19:59:500653仕様書無しさん
2007/03/23(金) 20:04:21盤としての最低仕様も満たさないんじゃテンプレにもならん。
いまさらオセロなんか出してきて、C++だってんじゃ
おじゃばさまの名前ってなんなのよw
0654仕様書無しさん
2007/03/23(金) 20:05:11ってのは誰がつっこむんだ?
0655仕様書無しさん
2007/03/23(金) 20:09:27理由が何もないからつっこまないのでは。
0656仕様書無しさん
2007/03/23(金) 20:42:13オブジェクト指向を理解した、ってのはどうやって判定すんの?
0657ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/23(金) 20:45:205にしてCOM同士の対戦にしたら5分くらい考え込む。
学習能力付加して高速化できるな。
0658仕様書無しさん
2007/03/23(金) 20:47:44それは非常に簡単。ジャワやってます==理解している
0659仕様書無しさん
2007/03/23(金) 20:48:010660仕様書無しさん
2007/03/23(金) 20:48:08最強リバーシ対決なら、あっちでヤレ
おまいら最強のリバーシプログラムしてみろよ
http://pc10.2ch.net/test/read.cgi/tech/1166749119/
おまいら最強のリバーシプログラムしてみろよ part2
http://pc11.2ch.net/test/read.cgi/tech/1169413998/
おまいら最強のリバーシプログラムしてみろよ part3
http://pc11.2ch.net/test/read.cgi/tech/1173784074/
0663仕様書無しさん
2007/03/23(金) 20:52:05まるでCOBOL現場みたいw
0664656
2007/03/23(金) 20:56:22なぜか「分かった気になってる」ように感じるんだよ。
実務に活かせるスキルになってないことを自覚しててな。
こっから脱却したいんだけど、どうすりゃいいもんやら。
0665仕様書無しさん
2007/03/23(金) 20:58:450666仕様書無しさん
2007/03/23(金) 21:01:03一緒に働く奴と、同じ考えだなと実感できれば
それが役に立つ技術というものだと。
構造化だろうがオブジェクト指向だろうが、
しょせん意思疎通の手段だろ。
0667仕様書無しさん
2007/03/23(金) 21:02:09>>240 なり >>601を出発点にすりゃえーんじゃねぇの?
>>601を出発点にするなら、
>>601を分析クラス (ドメイン・モデル)として、
その責務は何か、データは何を持つか、
どんな振る舞いをするか、ってなあたりを
シーケンス図かなんか使って詰めてけば
いいじゃないか。
もし、ドメイン・モデル以外の部分も問題にしたいなら、
バウンダリ/コントロール/エンティティ抽出してロバストネス図作って、
エンティティがドメインモデルに対応している事を確認して、
最後に、MVCなりDocumentViewに対応させればいいじゃないか。
ってUMLヲタが言ってたw
0668おじゃばさま
2007/03/23(金) 21:03:44まず、そんなに後々の拡張や例外を考慮する必要はない。
これは優秀な構造化プログラマーが陥りやすい罠である。
構造化では最初の設計で見越した拡張性が後々の変更に大きく関わる。
そのためローカルルールやゲーム自体の変更を意識して設計するが、OOでは使用する部分としない部分の
選択の自由度が比較的高いため、それほど意識する必要はない。
オセロ作るならシンプルなオセロだけ考えれば良い。
そうなると、最初は継承やインタフェースは出て来ないだろう。
それと機能分割する考え方が異なる。
構想化プログラマーは無意識のうちに「機能」を抜き出してそれを分類しようとする。
すると601のようにオブジェクトと機能の区別が曖昧になる。
OOの場合は、まず物をイメージして、それがどのような性質(機能や値)を持つかを考える。
オセロの場合はゲーム盤やプレイヤーをイメージして、それがどのような機能や値を持つかを考えれば良い。
そして重要なのは修正だ。
単純なオブジェクトに対して、ルールや値を追加して、どこに機能を持たせるか考える。
多くの場合は、設計の誤りに気が付くだろう。しかし最適な場所がある。
ここで継承やインタフェースも出て来るだろう。
この修正を繰り返すたびに、モジュールの結合が緩くなり、完成度が増すのがOOだ。
是非ともこの感覚を味わってもらいたい。まあ、普通の人は1年半後かな?
0669仕様書無しさん
2007/03/23(金) 21:04:58せっかくの俺様のビューチフルなコラボレーション図を藻前ら
に示せないのが残念だ。なんとかしろよ、糞ゆき。
0670仕様書無しさん
2007/03/23(金) 21:05:24おっさんスレに帰れよ。
みんな待っているよ。
0671仕様書無しさん
2007/03/23(金) 21:05:320672仕様書無しさん
2007/03/23(金) 21:07:140673仕様書無しさん
2007/03/23(金) 21:07:190674667
2007/03/23(金) 21:08:34その>>667みたいなのはパッと思い浮かんじゃうけどw
問題(あるいはそこで認められている問題解決方法)を把握できないまま、
OO分析/設計するっつうのは不安だよなぁ。目隠しして歩けって言われるようなもんでw
分析/設計の重要な目標ってのが、
問題の正確な把握、解決策の仮定/検証、そして解決策の実現方法の明確化
にあるとすれば、それを実行するためにうまくOOを使えばいいだけの話じゃないか。
OO使うとうまくいかない〜と言うなら、OOはあきらめればいいだけの話。
0676仕様書無しさん
2007/03/23(金) 21:09:070678仕様書無しさん
2007/03/23(金) 21:10:150679仕様書無しさん
2007/03/23(金) 21:10:29たかひろ乙。
そして、YAGNAI原則は重要。
ただオツムと問題を比較した時に、
問題の難易度が低い場合、
俺なら >>601から出発するね。
0681仕様書無しさん
2007/03/23(金) 21:14:140682仕様書無しさん
2007/03/23(金) 21:15:22javaを叩くだけのオッサンスレよりこっちの方がはるかに良いだろうに。
オッサンスレはjavaを叩きすぎて、いまや焦土なっちまったからな。
>>670、老兵の待ってるオッサンスレに帰れ
0683656=677
2007/03/23(金) 21:15:53いや、>>601で書いてあることは分かる。
けど、実際自分がやれ、って言われると視点というか着眼点が分からない。
どうやればそういう発想を持てるんだろか。
0684仕様書無しさん
2007/03/23(金) 21:16:220685仕様書無しさん
2007/03/23(金) 21:17:090686679
2007/03/23(金) 21:19:16> 問題の難易度が低い場合、
なんちゃってw
誠実に言い直す事にしよう。
オセロゲームという問題領域は、
これまで何度かカジった事がある。
今回は >>154を見て内容を思い出し、
次に >>457を見て、この仮想プロジェクトの現状を知り、
そして >>601の形で次の設計の端緒を示したつもりだ。
もう、一からオブジェクトを抽出するなんて段階ではない。
実装に基づいて、分析モデルを洗練し、設計モデルを洗練する、
というイテレーション・プロセスのど真ん中に現在は位置する。
だから >>601が今回のベースラインなんだ。
0687仕様書無しさん
2007/03/23(金) 21:25:01OOがへたれな漏れ思うに
やっぱ、OO分析できないと、>>601のようなモデリング出来ないんじゃね
ま、クラス設計の問題だよな
0688680
2007/03/23(金) 21:29:39> いや、>>601で書いてあることは分かる。
> けど、実際自分がやれ、って言われると視点というか着眼点が分からない。
> どうやればそういう発想を持てるんだろか。
基本は、>>681の通りだ。
トップダウンで言うと、
まずドメインモデルの抽出手法ってのがある。
シナリオの品詞に着目して
ドメイン・オブジェクトの候補を洗い出す、ってな手法だ。
この手法では、名詞=静的データ構造、動詞=動的振る舞い
ってな解釈でオブジェクトができる。
しかしこの手法には大きな問題点があって、
それは明確に概念化されていない対象、見えない対象、実装方法等は
抽出の落ちや、不適切な抽出が発生しやすい。
0689仕様書無しさん
2007/03/23(金) 21:29:42できあがりそうだな。これじゃぁ、機能要求は満たせても、
非機能要求は満たせまい。
0691680
2007/03/23(金) 21:31:09次にボトムアップで言うと、
「コードやデータの凝集度」といった言葉で表される、
「これとこれ、わけて、あっちでまとめたら、判りやすくねぇ?」
というコード感覚、モジュール感覚、アスペクト感覚がある。
上でじゃばらーが「構造化設計」感覚とかほざいているが、
そんな低レベルなものではなく、コードと日々戦い続けて
研ぎ澄まされた感覚だ。
ボトムアップのモジュール感覚、アスペクト感覚を、
トップダウンの分析モデルと擦り合せたものが、
設計モデルだ。もちろん、詳細化していく中で、
最初の設計モデルの見込みが間違ってたり、
あるいは詳細化能力の低いのが仕事にタッチしてきて、
設計モデルが崩れる事もあるけれど。
こんなところでいかがかな>>683
0693仕様書無しさん
2007/03/23(金) 21:32:330694仕様書無しさん
2007/03/23(金) 21:34:48> 非機能要求は満たせまい。
はいはい煽り乙。
それでは、本件に関する「非機能的要求」として
何が想定できるか、言ってみてくれ。
ヒント:
速度かなぁ〜?
それとも問題領域とOO手法のインピーダンスマッチングかなぁ〜w
0695仕様書無しさん
2007/03/23(金) 21:36:370696仕様書無しさん
2007/03/23(金) 21:37:250697仕様書無しさん
2007/03/23(金) 21:38:100698仕様書無しさん
2007/03/23(金) 21:38:24この商売はそういうものだ。
0699仕様書無しさん
2007/03/23(金) 21:39:230700仕様書無しさん
2007/03/23(金) 21:39:59もちろんレスポンスも大事。
0701仕様書無しさん
2007/03/23(金) 21:41:44コンパイルもしないうちにダメだと見切られてちゃねぇ。
0702仕様書無しさん
2007/03/23(金) 21:42:39>>696
それは
> 問題領域とOO手法のインピーダンスマッチング
に起因する問題だ。
俺の知り合いでIPAに出入りしてた奴が居て、
J2EEクラスタリングの話をしたら
「科学技術研究支援(数値計算バリバリ)に使えないかなぁ〜」
とわけのわからない事を逝ってきた奴がいる。
しかし、J2EEは数値計算には向かない。Javaも然り。
可視化やWebサイトといった部分でしか関与しない。
C++も、並列クラスターを使いこなせるとは言いがたい。
結局数値計算には、ベクター化Fortran、並列化Fortran を使う。
それが適所適材ってもんだ。
0703仕様書無しさん
2007/03/23(金) 21:45:20このふたつはどう違うの?
違うよ。全然違うよ。
0704仕様書無しさん
2007/03/23(金) 21:46:09Fortranの作者 John Backusは亡くなり、
数々の並列化言語とJavaを仕様化したGLSは、
「C++に対するJava」に相当する「Fortranに対するFortress」
を提案している。
結局、Javaで数値計算〜数値処理なんて・・・GLSも本気にしていない戯言なんだ。
0706仕様書無しさん
2007/03/23(金) 21:48:26いいんじゃね?
0707仕様書無しさん
2007/03/23(金) 21:48:40たのしみだな、答え合わせ。
0708仕様書無しさん
2007/03/23(金) 21:53:55Cじゃだめなの?並列化ライブラリCとインラインasmで書いてあるんだけど。
0709仕様書無しさん
2007/03/23(金) 21:56:31あと、詳細にマジレスしておこう。
> OOの場合は、まず物をイメージして、それがどのような性質(機能や値)を持つかを考える。
> オセロの場合はゲーム盤やプレイヤーをイメージして、それがどのような機能や値を持つかを考えれば良い。
>
> そして重要なのは修正だ。
> 単純なオブジェクトに対して、ルールや値を追加して、どこに機能を持たせるか考える。
> 多くの場合は、設計の誤りに気が付くだろう。しかし最適な場所がある。
オセロのルールはどの「物」に付与しますか?
まさかゲーム盤や石がルールを持って協調作業する、
なんて奇妙な設計を、わざわざ苦労してするつもりですか?
ゲームの進行はどうやって書きますか?
まさかプレイヤーとプレイヤーの協調作業だなんて、
不確実なものを、わざわざ苦労して設計しますか?
目には見えないけれど、ルールは存在する。
そして、きっちりとゲームをする時は、
審判を置いて、ゲーム進行とルール遵守を確認する。
そういった突き詰めた思考こそが、分析・設計には重要かと存じます。
0710仕様書無しさん
2007/03/23(金) 21:57:02http://javolution.org/
http://www.jscience.org/
0711仕様書無しさん
2007/03/23(金) 21:59:55IPAは見通しの良くない無駄な研究テーマに
無駄な研究費を配る慈善団体に過ぎない。
IPAの判断と、I,N,H,F,SGI/Cray,Sunの判断、
どちらが適切かなんて言わずもがなだ。
それでも疑問があるなら、IPAに直接言え。
0712仕様書無しさん
2007/03/23(金) 22:01:21おじゃばさまってすごい。もっとがんばれ。超がんばれ。
0713仕様書無しさん
2007/03/23(金) 22:02:160714仕様書無しさん
2007/03/23(金) 22:05:57一応訂正しといてやると、
Othelloの思考ルーチンならC++で充分なんじゃないかな。
別に数値計算業界みたく、C++を今更始めるのも億劫だし、
アセンブラレベルの最適化まで面倒みたくない、ってな
専門家が居る業界ではないのだから。
0715仕様書無しさん
2007/03/23(金) 22:07:29> GLSは、 「C++に対するJava」に相当する「Fortranに対するFortress」 を提案している。
> 結局、Javaで数値計算〜数値処理なんて・・・GLSも本気にしていない戯言なんだ。
0716仕様書無しさん
2007/03/23(金) 22:12:02いつオセロにもどったんでしょうか?
オセロの思考ルーチンもFortranがいいの?
混乱してるの、先生?仕様書なしさんは一人じゃないんだよ。
インスタンスはたくさんw
0717仕様書無しさん
2007/03/23(金) 22:13:45> >>708
> 一応(>>708の決め付けを)訂正しといてやると、
> Othelloの思考ルーチンならC++で充分なんじゃないかな。
0718ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/23(金) 22:18:00オセロはどうやってもOOにしたら見通し悪いだろうが
0720仕様書無しさん
2007/03/23(金) 22:20:57ごめんね。オセロの思考ルーチンのお話じゃまして。
0722仕様書無しさん
2007/03/23(金) 22:25:360723仕様書無しさん
2007/03/23(金) 22:27:58> オセロのルールはどの「物」に付与しますか?
> まさかゲーム盤や石がルールを持って協調作業する、
> なんて奇妙な設計を、わざわざ苦労してするつもりですか?
:
> 目には見えないけれど、ルールは存在する。
「オセロのルール」は、
オセロゲームのシナリオの中の「ミニ・シナリオ」みたいなものだ。
両者(シナリオとルール)の境界は極めて曖昧だ。
だから、シナリオからオブジェクトを抽出すると、
必然的に石やボードがルールを持つようになる。
問題は、そのようなモデルは、
人間の持つ擬人化能力にはよくマッチするが、
既に計算機向けに形式化され構築された思考モデルとは
極めて相性が悪い、という事なんだ。
OO化したモデルと、計算機向けに形式化されたモデル、
どちらが求められるかは、言うまでもないだろう。
0724仕様書無しさん
2007/03/23(金) 22:29:10はぁ?なんで?
アフォな説に主語を付けただけだが。
0725723訂正
2007/03/23(金) 22:33:17計算機向けに形式化されたモデル、
◎ 人間向けに擬人化したモデル(OO)と、
計算機向けに形式化され最適化されたモデル、
0726仕様書無しさん
2007/03/23(金) 22:35:21じゃあ、何なら相性がいいの?
COBOLで作ってた、ビジネスロジックwの世界かな?
たしかにいまそう使ってるけど、それこそ
「インピーダンスマッチング」が問題なんでしょ。
0727725
2007/03/23(金) 22:37:17前者を後者に対応させるコンパイラ の開発に全力をそそぐだろう。
人間が扱いやすい数式を、浮動小数点演算装置への命令列に
自動翻訳するソフト(Fortran)を開発したJohn Backusのように。
#まぁ、OOの場合は、そんな努力は実らないと思うが。
0728仕様書無しさん
2007/03/23(金) 22:40:240729仕様書無しさん
2007/03/23(金) 22:46:56話が通じなかったかな?
オセロのように研究しつくされている領域では、
既存の成果の利用/流用を通じた、より強い思考ルーチンの構築
こそが課題だ。だから、少なくとも思考ルーチンの内部表現としては
> 計算機向けに形式化され最適化されたモデル、
を使用するのが適切。
業務システム(COBOL)の場合はもっと話がややこしくて、
・人間による手作業に最適化された処理手順 (必ずしも電算機化には向かないw)
・COBOL向けに最適化されたロジック (冗長で構築しにくいw)
・OO屋が判り易く構築し易いと信じ込んでいる擬人化モデル (やれやれw)
の三つの階層が存在する。
まぁ勝手に戦ってくださいってな感想しか持ち合わせていないがw
ああ、ネットビジネスとか、ERPとかとの絡みで改善されてくる部分もあるかもなぁ
0730仕様書無しさん
2007/03/23(金) 22:50:12> 前者を後者に対応させるコンパイラ
無理。
つか、わざわざ回りくどい「擬人化モデル」でアプリを記述するのは地獄だろw
効果が確認されてる仕様記述言語すらろくすっぽ使われて現状でw
0732仕様書無しさん
2007/03/23(金) 22:53:52うん、OOが役立たずなのがよくわかったよぉ。
ありがとー先生。
0733仕様書無しさん
2007/03/23(金) 22:55:55こちなるポストオブジェクト壷は神妙なる効果を持っておってだな、
おい、聞けよあsfhんgsfjhmんbb
0734ポストオブジェクト壷売り
2007/03/23(金) 23:03:51ただいま、この大安成就のポストオブジェクト壷、
通常価格¥10、000,000,000の所を
先着5名様になーんと
¥10、000,000
という特別価格で提供しちゃいます。
しかも!
通常なら別売りの
・XMLアダプター ・・・タンス裏のホコリを取るのに便利ですね!
・高枝切バサミ・アダプター ・・・コウルサい上司を簡単に切れますよ。便利ですねぇ!
・収納バッグ ・・・使わなくなった壷をスマートに格納できますよ。いいですね!
の三点セットで、なんと
¥10,000,000
いまなら送料無料です。ご注文は画面下側のURLまでどうぞー
0735仕様書無しさん
2007/03/23(金) 23:06:47世界最強!大安成就のポストオブジェクト壷にも大きな弱点があって、
この壷はオブジェクト壷被害者しか買わないって事なんだ。
つまり、オブジェクト壷の被害者が増えれば増えるほど・・・
逆に、オブジェクト壷が全然売れないと・・・
ってことで、オブジェクト壷売りのみなさん、頑張って下さいw
0736仕様書無しさん
2007/03/23(金) 23:12:56頭の中のイメージを人に分かる形で伝えられ、素直にクラス図を理解させることができ、
なおかつ動くプログラムを実装できればOOの答えは無限大だ。
「やりかたいろいろ」というように。
ただこのスレでは他人のOO設計時の頭の中の考え方の理解、擦り合わせと、
それに対する改善策や別解に関して議論することが重要なんだと思うし、それによって良スレになるかもしれない。
煽りは何も生まないぞ。
0737仕様書無しさん
2007/03/23(金) 23:19:26そして、OO壷を限界を感じる所まで使い込んだら、
次は是非、ポストOO壷をご購入下さいネ。(ぺこり
0738仕様書無しさん
2007/03/23(金) 23:21:340739仕様書無しさん
2007/03/23(金) 23:23:00ご発言、どうぞ。
0740ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/23(金) 23:24:150742仕様書無しさん
2007/03/23(金) 23:26:430744仕様書無しさん
2007/03/23(金) 23:34:48なんか、売れそうな名前じゃね?
0745仕様書無しさん
2007/03/23(金) 23:38:53デスマで泣いてる彼女もイチコロさ
0746仕様書無しさん
2007/03/23(金) 23:39:530747仕様書無しさん
2007/03/24(土) 00:08:400748仕様書無しさん
2007/03/24(土) 00:14:130749仕様書無しさん
2007/03/24(土) 00:19:330750仕様書無しさん
2007/03/24(土) 04:28:10アホコテのあまりのレベルの低さに驚いた
Javaのインストール如きで苦しむなよ
どんだけレベル低いんだよ >648
ぶっちゃけPGに向いてないとか以前に
死んだほうがいいんじゃね
0751仕様書無しさん
2007/03/24(土) 09:10:01これって、括弧の奴をクラスにすればいいの?
教えてエロぃ人
0752ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 09:19:480753仕様書無しさん
2007/03/24(土) 09:20:43> OOの場合は、まず物をイメージして、それがどのような性質(機能や値)を持つかを考える。
> オセロの場合はゲーム盤やプレイヤーをイメージして、それがどのような機能や値を持つかを考えれば良い。
プアーなイメージで書いたコラボレーション図の例
+---------------+ 手を打つ +---------------+
| プレーヤ |────→| プレーヤ |
+---------------+2 1+---------------+
| 石の色※1 | | 石配置 |
+---------------+ (パス) +---------------+
| 次の手を考える |────→.| 初期配置 |
| |2 1| はさまれた石を |
| | | ひっくり返す |
| | | 終了判定 |
| | | 得点集計 |
+---------------+ +---------------+
※1 石の色は、黒を先手、白を後手とする。
0754ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 09:21:31現金 クレジットカード 商品券 つけ
0755仕様書無しさん
2007/03/24(土) 09:29:39> 「客」が「店」に入って「商品」を手にとって「レジ係」に渡して「金」を払う。
金を払う
[客] → [店]
\
→ [商品]
手にとる
0756仕様書無しさん
2007/03/24(土) 09:33:23> 金じゃなくて「支払い」ならクラスにするかな。
選ぶ
┌ → [商品]
|
| 支払う
[客] → [店]
:
[支払]
0757仕様書無しさん
2007/03/24(土) 09:36:03:
:
[購入]
↓ ↓
[商品] [支払い]
0758仕様書無しさん
2007/03/24(土) 09:47:08「客」と「店」の関連「支払う」を、
関連クラス「支払い」として抽出
>757の点線部
「支払い」では一般に
店から客に何らかの「商品 (物品やサービス)」を提供し、
その対価として客が「支払い」をする。
つまり客が店から「購入」するという関係を抽出した
0759仕様書無しさん
2007/03/24(土) 10:00:42「支払い」方法: 現金、カード、商品券
「ツケ」は債権の発生だから、「支払い」とは別扱いにした方が・・・
0761仕様書無しさん
2007/03/24(土) 10:03:15月3万以上お買い上げしたお客様には
10万以上の品は10%引き
それ以下は5.8%引きのサービスを行うを追加してください
0762753訂正
2007/03/24(土) 10:03:37> OOの場合は、まず物をイメージして、それがどのような性質(機能や値)を持つかを考える。
> オセロの場合はゲーム盤やプレイヤーをイメージして、それがどのような機能や値を持つかを考えれば良い。
プアーなイメージで書いたコラボレーション図の例
+---------------+ 手を打つ +---------------+
| プレーヤ |────→| ゲーム盤 |
+---------------+2 1+---------------+
| 石の色※1 | | 石配置 |
+---------------+ (パス) +---------------+
| 次の手を考える |────→.| 初期配置 |
| |2 1| はさまれた石を |
| | | ひっくり返す |
| | | 終了判定 |
| | | 得点集計 |
+---------------+ +---------------+
※1 石の色は、黒を先手、白を後手とする。
0763仕様書無しさん
2007/03/24(土) 10:05:07はい?
0764仕様書無しさん
2007/03/24(土) 10:17:16public:
void 購入(客 customer, 商品 comm)
{
if(customer->getMoney >= comm->getPrice()){
customer->setMoney(customer->getMoney() - comm->getPrice());
}
}
}
0765仕様書無しさん
2007/03/24(土) 10:25:53[客 ] ----→ [店 ]
----------- : -----------
[買い物カゴ ] : [商品 ]
[残高 ] : [ ]
[債務 ] : [債権 ]
[クーポン ] : [割引ルール]
[購入履歴 ] : -----------
----------- :
[商品を選ぶ] :
:
[購入 ]
/ | \
↓ ↓ ↓
[商品 ] [請求 ] [支払い ]
----------- ---------- ----------
[価格 ] [合計金額 ] [支払い手段]
[請求金額 ] [支払い金額]
---------- [クーポン ]
[割引適用 ]
0767仕様書無しさん
2007/03/24(土) 10:34:06[客 ] ----→ [店 ]
----------- : -----------
[買い物カゴ ] : [商品 ]
[残高 ] : [ ]
[債務 ] : [債権 ]
[クーポン ] : [割引ルール]
[ ] : [顧客情報 ]
----------- :
[商品を選ぶ] :
:
[購入 ]
/ | \
↓ ↓ ↑
[商品 ] [請求書 ] [支払い ]
----------- ---------- -----------
[価格 ] [合計金額 ] [支払い手段]
[請求金額 ] [支払い金額]
---------- [クーポン ]
[割引適用 ]
0768仕様書無しさん
2007/03/24(土) 10:38:07クレーマーな客の無理やり返品・返金にも対応してください
0769ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 10:40:49只とか相殺とか贈与とか割引、お釣りが無かったのでまけた、などなど
0770仕様書無しさん
2007/03/24(土) 10:41:150771仕様書無しさん
2007/03/24(土) 10:42:210772ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 10:43:26ちなみにDBとOOはものすごく相性が悪い。
0773仕様書無しさん
2007/03/24(土) 10:44:54DB側であろうがなかろうが、クラスと連携して業務が完結します。
それともこのクラスは業務で使わないのが前提ですか?
DBを使わないのならDBをシミュレートするクラスが必要になります。
0774仕様書無しさん
2007/03/24(土) 10:47:54代理店が複数あった場合はどうなりますか?
0775ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 10:47:540777仕様書無しさん
2007/03/24(土) 10:49:56その管理も考慮しなくてはなりませんね。
0778仕様書無しさん
2007/03/24(土) 10:51:41もっと複雑になってきますね。どーしましょうか?
0779仕様書無しさん
2007/03/24(土) 10:59:21適当だから抜けあるかもだが、こんな感じでいいんじゃね?
こいつらは目印用interfaceな。
石って名前はいまいちだが、汎用的な名前思いつかなかた(´・ω・`)
位置interface:
石interface:
ルール情報interface:
こっちは処理系interface
盤interface:
put石(石interface);
get石リスト();
get終了判定();
プレーヤーinterface:
put石(位置interface);
get終了判定();
ルールinterface:
checkルール(ルール情報interface);
戦術interface:
get駒位置();
全体制御interface:
exec();
続く。。。
0780779
2007/03/24(土) 11:00:54んで、オセロとか将棋とかの独自実装をする。
位置クラス:
位置interfaceをimplementして作成。
位置情報を保持する。
ゲームによって保持する情報が変更される。
石クラス:
石インターフェースをimplementして作成。
位置・状態(裏表)等を保持。
ゲームによって保持する情報が変更される。
ルール情報クラス:
ルール情報インターフェースをimplementして作成。
ルールを判断するのに必要な情報を保持。
ゲームによって保持する情報が変更される。
盤クラス:
singleton指定
盤interfaceをimplementして作成。
ルールクラスをinjection。
石instanceを保持。
ルールクラスのメソッドを参照し石が置けるか判断。
置けたら他の石インスタンスの状態を変更。
さらに続く。。
0781779
2007/03/24(土) 11:01:55プレーヤークラス:
プレーヤーinterfaceをimplementして作成。
盤クラスをinjection
プレーヤー情報を保持。盤に石を置く。
ルールクラス:
プレーヤーinterfaceをimplementして作成。
渡されたルール情報instanceを参照しルールに従っているか判断。
戦術クラス:
戦術interfaceをimplementして作成。
盤クラス・ルールクラスをinjection。
それぞれのクラスを参照し石を置く位置を決定。
全体制御クラス
全体制御interfaceをimplementして作成。
main処理。ゲーム・プレーヤークラス・AI(戦術クラス)の管理を行う。
めんどくさくなた。。後は意見出して発展させてくれ。
ちなみに終了判定は、
全体制御クラス→プレーヤークラスのget終了判定()→盤クラスのget終了判定()で呼ばれる。そうする事によってどのプレーヤーが終了したかが分かる。
でも、全体制御クラス→盤クラスでもいいかも。プレーヤーinterfaceにget終了判定持つのはちょっと違和感あるし。
0782仕様書無しさん
2007/03/24(土) 11:02:270784仕様書無しさん
2007/03/24(土) 11:12:440785601
2007/03/24(土) 11:16:19[Othelloゲーム]
◇ △
| :
[ルール] [試合]
│ ◇
↓ ↓
通知w
[進行係 ]←──[審判 ] [記録係 ]
------------- ------------- │
------------- ------------- │
[先攻後攻決定] [お手つき判定 ] │
[開始指示 ] [パス判定 ] │
[打ち順指示. ] [終了判定 ] .│
[終了指示 ] [得点集計 ] .│
│ │チェック │記録
指示↓ 打つ. └───┐ │
[プレーヤ ]─────────→[ゲーム盤 ]
---------- 2 : 1 ----------
[石の色 ] [手 ] [石の配置 ]
---------- --------- ----------
[手を考える] [石の色 ] [初期配置 ]
| 2◇ [位置 ] [ひっくり返す]
考える| │1..64◇ ◇
↓ └──┤1 │
[戦術 ] [石 ] [位置 ]
---------
[石の色 ]
---------
[リバース ]
0787仕様書無しさん
2007/03/24(土) 11:33:19はい?
>>601に書いたように、
プレーヤ ∋ 人、コンピュータ
[プレーヤ]
△ △
[人] [コンピュータ]
↓考える
[戦術]
誰か(>>668)が「継承」や「インターフェース」はまだ書くな
とか世迷言を言ってたから、省略しただけ。
0788779
2007/03/24(土) 11:37:07戦術interfaceをimplementした「戦術クラス」と「人が操作クラス」作って
それぞれを別のプレーヤークラスにinjectionすればいけるか。
そうすると戦術interfaceって名前がいまいちだな。
0789779
2007/03/24(土) 11:40:52プレーヤ ∋ 人、コンピュータ
[プレーヤ]
△ △
[人] [コンピュータ]
↓考える
[戦術]
それは分かるんだが、プレーヤーに手を考えるメソッドがあって、
戦術クラスに直繋がりだったから、どうやって人に操作渡すのかと思った。
自己完結したからおk。
0790601
2007/03/24(土) 11:42:23△ ◇
: │
[試合] [ルール]
◇ │
↓ ↓
通知(w
[進行係 ]←─[審判 ] [記録係 ]
------------- ------------- ↑
------------- ------------- │記録
[先攻後攻決定] [お手つき判定 ] │
[開始指示 ] [パス判定 ] │
[打ち順指示. ] [終了判定 ] .│
[終了指示 ] [得点集計 ] .│
│ │チェック .│
指示│ . └─────┐│
↓ 打つ ↓│
[プレーヤ ]────────────→[ゲーム盤 ]
---------- 2 : 1 ----------
[石の色 ] [手 ] [石の配置 ]
---------- --------- ----------
[手を考える] [石の色 ] [初期配置 ]
△ . [位置 ] [ひっくり返す]
┌─┴──┐ .◇ ◇
[人 ] [コンピュータ] │ └┐
------- ↓ [石 ] [ 位置 ]
------- [戦略] .------
[手入力] [色 ]
------
.[リバース]
0791仕様書無しさん
2007/03/24(土) 11:50:52interface 支払い方法{
支払い(客,店);
}
class 現金一括(支払い方法){
private 金額;
コンストラクタ(金額){
this.金額 = 金額;
}
支払い(客,店){
客.手持ち現金 − 金額;
店.現金 + 金額;
}
}
かな?相当例外的な支払いは最悪その場でローカルインナークラス生成とか。
0792仕様書無しさん
2007/03/24(土) 11:55:24「その場でユーザ入力してもらう」って戦術を作れば
何も人間プレーヤーとコンピュータ分ける必要ないんじゃ。
0793仕様書無しさん
2007/03/24(土) 12:02:04[客 ] ────→ [店 ]
----------- : -----------
[返品商品 ] : [商品 ]
[口座 ] : [返品ルール. ]
[債務 ] : [債権 ]
[ ] : [顧客情報 ]
:
[ 返品 ]
-----------
-----------
[ルール判定]
/ │ \
↑ ↓応じる ↓応じない
[返品商品 ] [返金 ] [リジェクト ]
----------- ----------- -----------
[購入価格 ] [返金方法 ] -----------
[返品送料 ] [返金金額 ] [客に通知 ]
[商品再返送]
0794仕様書無しさん
2007/03/24(土) 12:05:460795779
2007/03/24(土) 12:09:53石instanceは盤クラスが管理してるから、
記録係は盤がやってもいいんじゃね?
記録方法の変更は石管理のやり方換えればいい訳だし。
ルールと審判は結局同じ物だから1つのinterfaceに実装した方がいいかな。
その方が戦略クラスからルールクラスの参照する際に便利だし。
審判から進行係に「通知」は変だろw
それから、戦略クラスからルールinterfaceへの参照が抜けてるな。
あと得点集計は別クラスがいい希ガス
0796779
2007/03/24(土) 12:18:22ちょっとまてそれはおかしくね?
interface 支払い方法{
支払い(金額);
}
class 現金一括(支払い方法){
private お金管理interface 払う人;
private お金管理interface 貰う人;
支払い(金額){
払う人.現金払う(金額);
貰う人.現金貰う(金額);
}
払う人のsetterとgetter
貰う人のsetterとgetter
}
だろ?
0797仕様書無しさん
2007/03/24(土) 12:19:24[支払い ]
-----------
[支払方法[]]
[合計金額 ]
-----------
[確認 ]
◇
|
[支払方法]
---------
[金額 ]
[確度 ]
---------
[確度チェック]
△
┌──┼──┬─────┬─────┬─────┐
現金 金券 クレジット 債権相殺 クーポン/割引/オマケ/贈与
-------- -------- --------
入金済 有効性 信用
-------- -------- --------
入金確認 使用可? 与信処理
0799仕様書無しさん
2007/03/24(土) 12:39:191. 「盤」の状態変化を記録係に委譲する、と考えればおk。
現実の対戦記録は、プレイヤーの打ち手の系列だったりする。
だから、プレイヤー→盤→記録係 という流れが自然。
2-1.ルールと審判は違う。
ルールは静的なデータ構造、審判は試合にルールを適用する係。
2-2.戦略クラスは、一般的なオセロ・ルールに基づくヒューリスティックを持った上で、
その試合固有のルールにも参照を持つ、という意味なら同意。
2-3.審判から進行係への通知は省略して書いた。
例えば、お手付き判定、パス判定、終了判定は、
進行係からプレイヤへの指示に影響を与える。
3. いみふめ
審判の責務は、試合がルールを遵守し、結果を出す事にある。
試合の結果は終了判定と得点なのだから、得点集計は審判の責務。
ただ、似たような曖昧さもある。例えば時間制限ルール。
現実には時間制限は進行係がやる。理由は下っ端だから?
0800799訂正
2007/03/24(土) 12:40:35◎ 1. 「盤」の状態変化の記録を、記録係に委譲する、と考えればおk。
0801779
2007/03/24(土) 12:41:35どうして設計出来るのかと。。
レス読むと仕変が入りまくってぐちゃぐちゃになってきてる訳だが。。
デスマ直行プロジェクトだなww
0802799書き直し
2007/03/24(土) 12:43:491. 「盤」の状態変化の記録を、記録係に委譲する、と考えればおk。
現実の対戦記録は、プレイヤーの打ち手の系列だったりする。
だから、プレイヤー→盤→記録係 という流れが自然。
2-1.ルールと審判は違う。
ルールは静的なデータ構造、審判は試合にルールを適用する係。
2-2.戦略クラスは、一般的なオセロ・ルールに基づくヒューリスティックを持った上で、
その試合固有のルールにも参照を持つ、という意味なら同意。
2-3.審判から進行係への通知は省略して書いた。
例えば、お手付き判定、パス判定、終了判定は、
進行係からプレイヤへの指示に影響を与える。
3. いみふめ
審判の責務は、試合のルール遵守を管理し、試合の判定結果に責任を持つ事である。
試合の判定結果とは、つきつめれば終了判定と得点なのだから、得点集計は審判の責務。
ただ、似たような曖昧さもある。例えば時間制限ルール。
試合へのルール適用という意味では審判の責務なのだが、
現実には進行係に委譲されるw 理由は下っ端だからかwww
0803仕様書無しさん
2007/03/24(土) 12:45:59それがジャワポンSEオブジェクト指向宗教家の標準仕様です
0804仕様書無しさん
2007/03/24(土) 12:45:59> どうして設計出来るのかと。。
> レス読むと仕変が入りまくってぐちゃぐちゃになってきてる訳だが。。
> デスマ直行プロジェクトだなww
上に出ているような「仕変」は、
実はよくある一般的な「仕様」の詳細部に過ぎない。
つまり、経験と常識があれば考慮済な話。
0806仕様書無しさん
2007/03/24(土) 12:50:49> 在庫の引きあてトランザクション処理も追加してください
kwsk
>>774
> そのクラスが直販をしているメーカ本社であったとすると
> 代理店が複数あった場合はどうなりますか?
直販しているなら問題なっしんぐ。
直販していないなら代理店紹介して終了。
0807仕様書無しさん
2007/03/24(土) 12:53:38大量業務販売卸
0808仕様書無しさん
2007/03/24(土) 12:54:150809仕様書無しさん
2007/03/24(土) 12:54:510810仕様書無しさん
2007/03/24(土) 12:56:210811仕様書無しさん
2007/03/24(土) 12:57:29それは価格付けルールに関する問題かと。
つまり、商品仕入れ時に個別の値段付けをするか、
あるいは注文と商品の対応付けの際に、値段を付け直すかw
0812779
2007/03/24(土) 12:57:50>1. 「盤」の状態変化を記録係に委譲する、と考えればおk。
了解
>2-1.ルールと審判は違う。
> ルールは静的なデータ構造、審判は試合にルールを適用する係。
ルールは必ずしも静的にはならないとおも。ロジックが確実に入るんじゃね?
結局チェックロジックが入るなら、どっちにしろ同じかと。
但し、ルールが確実に静的になるという確証があるのであれば同意。
>2-2.戦略クラスは、一般的なオセロ・ルールに基づくヒューリスティックを持った上で、
> その試合固有のルールにも参照を持つ、という意味なら同意。
盤が参照するルールと、戦略が参照するルールで違いがあったらやばくね?って事。
>2-3.審判から進行係への通知は省略して書いた。
> 例えば、お手付き判定、パス判定、終了判定は、
> 進行係からプレイヤへの指示に影響を与える。
お手付き判定・パス判定は石を置いた時点、終了判定のタイミングは盤によって石instanceの状態が変わった後であるから、これらの判断は盤クラスへ石を置いた時に実行するべきかと。 終了判定は、進行係でもいいかな。
>3. いみふめ
> 審判の責務は、試合がルールを遵守し、結果を出す事にある。
> 試合の結果は終了判定と得点なのだから、得点集計は審判の責務。
確かに審判が得点集計を行ってくれと指示を出す。
ただし集計の責務は審判には無い。
通常のスポーツでも審判は判断するだけで、集計は別物だろ?
0813仕様書無しさん
2007/03/24(土) 12:57:51業務販売卸価格を適用できる
この場合は個人客の監査を行い、問題が無ければ顧客リストに登録できる仕様
0818仕様書無しさん
2007/03/24(土) 13:05:26「ビジネスロジック設計」スレたてろ んぽぽん!
0819仕様書無しさん
2007/03/24(土) 13:06:040820779
2007/03/24(土) 13:09:33ちょ。。おまえら。。
要件確定→クラス図作りました→仕変がありました→どうしましょう?
っていう流れだったらOOのプラクティスとしても意味がある。
だが、今のままじゃぐちゃぐちゃになって終わるだけだぞ。
実際すでにDBの領域にまで突入しようとしてるじゃないか?
0821ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 13:10:22店の売り上げ管理でもOOだと都合が悪いから話を中断させようと必死だ。
0823ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 13:12:11「具体的に考えるとOOが適当とされる事例が思い浮かばない」
が真実かな?
0825仕様書無しさん
2007/03/24(土) 13:14:10はいはい。
一部の意見は参照に値するが、
別の一部の意見は主観的ブレの範囲なので
ご自由にどうぞ、という感じ。
2-1. ルールには、盤面や石の色や形状が含まれるので、
審判と同一視するのは不自然。
ルールが静的データ構造かどうかは、実は本質ではない。
単に「ルールは固有のアプリに強く依存した形で表現すべきではない」
というだけの設計上の気持ちに過ぎない。
どうしても静的データ構造にしたいなら、
ルールエンジンなり宣言的な補助言語(スクリプト・インタープリタとか)
を導入すれば、実現できる。
2-2. これは前にも書いた話だが、
戦略が(Strategy切替ミス、バグ、勘違いその他の理由で)
試合ルールに従おうが従わないだろうが、
審判が手を判定して、手が試合ルールに従っていると判断すればそれでおk。
仮に試合ルールを勘違いして、とんでもない戦略ミスをしたとしても、
プレーヤが損をするだけの話。
話は逆になるが、初心者に可能な打ち手を示す、というサービスを考えると、
助言者クラスの追加が必要かもしれない。
とりあえず長々文章書くよりも、>>793の図を修正したらどうか、と。
図の編集には、2chツールのAAエディタがオヌヌメ。
http://aaesp.at.infoseek.co.jp/
0826ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 13:15:03というのは完全な捏造だ。
0827仕様書無しさん
2007/03/24(土) 13:16:36独立性を高め依存度を低くするための手段に過ぎず
本質的に同じものだと言う事を理解していない。
0828仕様書無しさん
2007/03/24(土) 13:18:250829仕様書無しさん
2007/03/24(土) 13:26:04単純で汎用性の高いXMLファイルをやり取りするようなインタフェースで、
各モジュールをWebサービス化bキればいい。
Webサービス呼出
プレーヤ←─────→ボード
XMLファイル
問題は、空理空論の疎結合ではなく、
現実に密結合でどうしようもなくデスマーチ化したシステム(例えば>>240)
をどうしたら良いか、そのためにはどんな疎結合の手法を使えばいいか、
って事。
話を現実から出発しないと、空理空論に終わる。
0830仕様書無しさん
2007/03/24(土) 13:43:08審判 =監査役(経営, 品質, 環境, etc)
試合進行係=社長
プレーヤ =社員
と考えれば、
・実行役が監査したり、
・監査基準と監査役が同一物だったり
したらおかしいのはすぐ判るだろw
上の方に余分にあるクラス (ルール、審判、進行係) は
要するに「監査パターン」っつこったw
0831仕様書無しさん
2007/03/24(土) 13:55:360832仕様書無しさん
2007/03/24(土) 13:56:22ルールに従う
試合───────→ルール
:
審判
【設計モデル】
ルール準拠を ルール準拠を
監査する 保証する
試合←──審判──→ルール
↑
│ルール準拠で
│実行する
進行係
0833仕様書無しさん
2007/03/24(土) 13:59:54監査 保証
試合←──審判──→ルール
↑ │
│進行 │アドバイス(w
│ │
進行係 ←─┘
0834仕様書無しさん
2007/03/24(土) 15:13:200835仕様書無しさん
2007/03/24(土) 15:34:52WEBの本には必ずといっていいほど出てくるSOAP,UDDI,WSDL
だが、いまだ日の目を見てない、実物みたことない、抽象論。
JavaScriptや鯖サイJAVA,CGI(Cがネイティブで使えるし)があるんだからいいじゃん!
XML?平文ネットに流すのか?>ならSSLにすりゃどーよ
と言う声も。
じゃあ、SOAPの利点>広域分散処理に関しては?
>お前やれよw
以下ループw
0836仕様書無しさん
2007/03/24(土) 15:38:11突っ込みの古臭さに唖然とした。
0837仕様書無しさん
2007/03/24(土) 15:39:230839仕様書無しさん
2007/03/24(土) 15:49:59△ ◇
[ 試合 ]◇─[ルール]
◇ ↑従う
{ ルール, プレーヤ, { 審判, ゲーム盤,
記録, 進行係, } 石, (進行係)...}
________ _______
[進行係 ] [審判 ]
============= ==============
[先攻後攻決め] .[ ]
[開始指示 ] .[お手付き判定 ]
[打ち順指示. ]←─────[パス判定 ]
[終了指示 ]←─────[終了判定 ]
 ̄ ̄ ̄| ̄| ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄|
│.│開始/終了/ .│
│.│手戻り/譜の再現 │チェック
│.└────────────┐ │
.____↓ 打つ .↓__.↓__ 記録
[プレーヤ ] ───────────→ [ゲーム盤 ]────→┐
---------- 2 __:__ 1 ----------- [記録係]
[石の色 ] [手 ] [石の配置 ]←────┘
---------- --------- ----------- 譜の再現、手戻り等
[手を考える] [石の色 ] .[初期配置 ]
 ̄ ̄△ ̄ ̄ . [位置 ] .[リバース ]
. .┌─┴──┐ .  ̄◇ ̄◇ [集計 ]
_|___ _|___ _│_└─┐_  ̄ ̄ ̄ ̄ ̄
[人 ] [コンピュータ] .[石 ] [ 位置 ]
=======  ̄ ̄ | ̄ ------  ̄ ̄ ̄
[手入力] 考える↓_ .[色 ]
 ̄ ̄ ̄ [ 戦略 ] ------
 ̄ ̄ ̄ ̄ .[リバース]
 ̄ ̄ ̄
0840ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 16:15:350841仕様書無しさん
2007/03/24(土) 16:24:16世のため、早く氏ね
0842仕様書無しさん
2007/03/24(土) 16:35:44OO壷の被害者が増えれば増えるほど、
ウチのお客様が増えるって仕組みになってますので、
皆さん頑張って下さいネ。
あと、OO壷売りに騙されたと感じたら、
すぐご連絡下さいネ。
即座にポストOO壷の説明にあがりますのでw
0843仕様書無しさん
2007/03/24(土) 16:42:31使いこなしが出来ないだけでさ
0845仕様書無しさん
2007/03/24(土) 18:17:40使いこなすといっても
目的もいろいろだしな。
たとえば、保守性を上げたいのか
拡張性を上げたいのかの違いだけでも
使いこなす方法が変わってくるだろうしな…
0846779
2007/03/24(土) 18:23:27せっかくまともに会話出来る相手がいたとおもたのに【残念です。】
>>2-1. ルールには、盤面や石の色や形状が含まれるので、
要点が全然違う方向にいってるのわかってる?
前回の発言と矛盾してるよ。
>>2-2. これは前にも書いた話だが、
だから戦略ルーチンでルールの判断必要だろって事をいっている。
それに盤クラスの石置きメソッドでルールクラスのcheckルール()を実行すれば事足りる。
ようは、ルールを提供するクラスがあればいいのであって、審判クラスいらなくね?って事。
0847779
2007/03/24(土) 18:26:17うんうん。それかなりイメージと合ってる。
ただ、やっぱり審判クラスいらないな。
お手つき判定はルールクラスで、
パスと終了判定は進行係クラスで事足りそう。
ルールクラスで統合的にルールのチェックを行う。
0848779
2007/03/24(土) 18:35:45再利用なんて激しく昔からあるし。
標準ライブラリって名のつく物なんてみんな再利用の為に作られてる。
OOだと再利用出来る(やりやすい)なんて誰が言い出したんだ?アホかと。。
OOなんて大きな事象を細分化する考え方なだけで、
再利用出来るかどうかは設計の内容によるもの。
0849仕様書無しさん
2007/03/24(土) 18:44:490850仕様書無しさん
2007/03/24(土) 18:45:38はいはい。
2-1.ルールと審判は違う
> 要点が全然違う方向にいってるのわかってる?
> 前回の発言と矛盾してるよ。
>>799
2-1.ルールと審判は違う。
ルールは静的なデータ構造、審判は試合にルールを適用する係。
>>812
ルールは必ずしも静的にはならないとおも。ロジックが確実に入るんじゃね?
結局チェックロジックが入るなら、どっちにしろ同じかと。
但し、ルールが確実に静的になるという確証があるのであれば同意。
>>825
2-1. ルールには、盤面や石の色や形状が含まれるので、
審判と同一視するのは不自然。
【注:>>799 「審判は試合にルールを適用する係」】
ルールが静的データ構造かどうかは、実は本質ではない。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
単に「ルールは固有のアプリに強く依存した形で表現すべきではない」
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
というだけの設計上の気持ちに過ぎない。
どうしても静的データ構造にしたいなら、
ルールエンジンなり宣言的な補助言語(スクリプト・インタープリタとか)
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
を導入すれば、実現できる。
で、どこが矛盾してるって?
0851仕様書無しさん
2007/03/24(土) 18:50:140852仕様書無しさん
2007/03/24(土) 18:57:18はいはい。
■2-2. 戦略とルールの関連
>>846 これは前にも書いた話だが、
>>846 だから戦略ルーチンでルールの判断必要だろって事をいっている。
【回答】>>802参照
> 2-2.戦略クラスは、一般的なオセロ・ルールに基づくヒューリスティックを持った上で、
> その試合固有のルールにも参照を持つ、という意味なら同意。
■2-2'. 審判クラスいらなくね?
>>846 ようは、ルールを提供するクラスがあればいいのであって、審判クラスいらなくね?って事。
【回答】
「2-1.ルールと審判」の件と同様。
>>825 主観的ブレの範囲なのでご自由にどうぞ、という感じ。
>>825 ルールは、(略) 審判と同一視するのは不自然。
>>830
> ルール =監査基準
> 審判 =監査役(経営, 品質, 環境, etc)
> 試合進行係=社長
> プレーヤ =社員
>
> と考えれば、
> ・実行役が監査したり、
> ・監査基準と監査役が同一物だったり
> したらおかしいのはすぐ判るだろw
>>850 「ルールは 【注:審判のように】 固有のアプリに強く依存した形で表現すべきではない」というだけの設計上の気持ち
0853仕様書無しさん
2007/03/24(土) 19:02:000854779
2007/03/24(土) 19:03:44>で、どこが矛盾してるって?
最初は、
> ルールは静的なデータ構造
って発言してるのに
>ルールは必ずしも静的にはならないとおも
と突っ込んだ途端に
>ルールが静的データ構造かどうかは、実は本質ではない
って発言が翻ってるところかな。
あ。。矛盾じゃなくって誤りを認めてないだけかw
とりあえず、>>839の構成を元にinterface抽出してみるよ。
興味ある人は気長に待ってみて。
>>851
分かった。飲んどくww
0856仕様書無しさん
2007/03/24(土) 19:08:36一つにマージしようとするのか、
その意図が理解できない。
>>240の例みたく、
画面1クラス〜画面1000クラス、
画面1専用のロジック1クラス〜ロジック10クラス
・・・
なんて訳わかんないことやってるわけじゃないしw
0857仕様書無しさん
2007/03/24(土) 19:09:10あ、わかった。君は粘着質だ。
0858仕様書無しさん
2007/03/24(土) 19:09:38その逆もあったりする。
ので、とにかくコードを書いた上で議論したほうがいいとおもう。
0860仕様書無しさん
2007/03/24(土) 19:15:15この件へのレスはこれで最後にしておく。後はスルーする。
>>854
> >>850
> >で、どこが矛盾してるって?
>
> 最初は、
> > ルールは静的なデータ構造
> って発言してるのに
> >ルールは必ずしも静的にはならないとおも
> と突っ込んだ途端に
> >ルールが静的データ構造かどうかは、実は本質ではない
> って発言が翻ってるところかな。
> あ。。矛盾じゃなくって誤りを認めてないだけかw
あーチミチミ、チミは気付かんかったのだろうが、
>>825 にちゃんと書いたよ。
1.静的データ構造にしたいなら、
ルールエンジンなり宣言的な補助言語(スクリプト・インタープリタとか)
を導入すれば、実現できる。
2.(しかし)ルールが静的データ構造かどうかは、実は本質ではない。
単に「ルールは固有のアプリに強く依存した形で表現すべきではない」
というだけの設計上の気持ちに過ぎない。
2の後半部=「ルールをアプリと密結合すべきではない」
これが、このスレ >>240 以降の一貫したテーマ。
0861仕様書無しさん
2007/03/24(土) 19:16:15>現実に密結合でどうしようもなくデスマーチ化したシステム(例えば>>240)
>をどうしたら良いか
そんな政治や営業上の問題を、
技術で解決しようとするなよ・・・
0862779
2007/03/24(土) 19:19:34粘着はしない。面倒だから(´・ω・`)
納得がいくまで議論したがり質かな?
でも、端から見ると粘着か。。。ORZ
亀田の相手のパンチなんかへろへろだよね。
0863仕様書無しさん
2007/03/24(土) 19:21:05んー。どうでもいい。
客やデスマーチ開発屋の立場からすると、
「これまで手数と人員をかけてきた旧型大規模システムが、
PCサーバ数台上に簡単に再構築されちゃーたまらん」
って、考える人も居るかもなぁー。俺はどーでもいい。
0864仕様書無しさん
2007/03/24(土) 19:27:49画面設計の下に、ビジネスロジックをぶらさげちゃったのが原因なんだよね。
画面は画面、ビジネスロジックはビジネスロジックで
ある程度分けて分析するべきなんだけど、
マイグレーション商売では
・COBOLから業務フロー抽出
・業務フローからJavaコード作成
なんつーのがメーカ標準だったりするから、
画面とロジックを分離するっつー肝心な事を
一切努力しない。
バカそのもの。いや判っててそうしてるんだよな。
でも、判っててそんなアフォな選択するのはやっぱアフォ。
0865仕様書無しさん
2007/03/24(土) 19:34:05> ルールエンジンなり宣言的な補助言語(スクリプト・インタープリタとか)
> を導入すれば、実現できる。
SQL文なら、Java/C++上に「静的データ構造」の形で
各種ルールを書けますぜ、ダンナ。
StoredProcedureにしとけば、処理はDBサーバで行われるから処理負荷の分散もおk、
しかもSQLは、れっきとした宣言型言語ですぜ、ダンナ。
とか夜道で誘われて堕ちていく人も多そうな予感
0866仕様書無しさん
2007/03/24(土) 19:37:09>画面とロジックを分離するっつー肝心な事を
>一切努力しない。
だって、そんなことすると、
「この設計書、全然意味ワカンネ」って言われて
没になってしまうんだもん・・・
0867仕様書無しさん
2007/03/24(土) 19:40:21春だから?
0868仕様書無しさん
2007/03/24(土) 19:42:460869仕様書無しさん
2007/03/24(土) 19:45:27例えばマイクロソフトあたりが好きなんだよなぁ。
Model/ViewをControlで分離するMVCの代わりに
Document-View アーキテクチャとか、
VisualStudioやVBAで、画面にちょこちょこコールバック書いて
サブルーチン数本作って、業務ツールいっちょあがり、とかw
0870仕様書無しさん
2007/03/24(土) 19:46:01低学歴乙
0871仕様書無しさん
2007/03/24(土) 19:47:550872仕様書無しさん
2007/03/24(土) 19:49:50ごめん、キミを侮辱するつもりはないんだ。
0873仕様書無しさん
2007/03/24(土) 19:51:370874仕様書無しさん
2007/03/24(土) 19:55:02そういう奴って、
契約を切られて暇なものだから、
ついつい、皆が自分と同じように
2chに即レスするもんだと
勘違いしてしまうんだよね・・・
0875仕様書無しさん
2007/03/24(土) 19:55:48いったい今時どんなになってるんだろうね?
もう10年以上前に遠目に見た時は、なんか今のJ2EEと同じ雰囲気で
画面とロジックはそう密接には見えなかったけどw
10年位前になると、なんかVisualStudioもどきのGUIとか、CGIまで書ける環境w
になっちゃってたんだよね。でもそんな時代のアプリなら、マイグレーションしないでしょう。
すると、すげぇ厨臭いCOBOL開発者の開発方法論ってのが
「画面指向設計」だったりするのかな?よくわかんね。
0876仕様書無しさん
2007/03/24(土) 19:57:180877ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 21:28:32オブジェクト指向では以下のテクニックを用いて再 ...
(2)はオブジェクト指向による再利用。最下層の部分が再利用できるのは(1)の場合と同じですが、それに加えてプログラムの ...
0878ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 21:30:29「オブジェクト指向を使えば、生産性が飛躍的に上がり、 プログラムの見通しがよくなり、再利用性も高まる」と聞かされて、
「ホントかあ? ...
0879ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 21:31:07オブジェクト指向における再利用のためのデザインパターン: 本:
エリック ガンマ,ラルフ ジョンソン,リチャード ヘルム,ジョン ブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,
本位田 真一,吉田 和樹 by エリック ...
0880仕様書無しさん
2007/03/24(土) 21:31:170881ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 21:31:50、開発コストも小さくなっていく、というのが、オブジェクト指向を薦める際の謳い文句であった。
だが現実には、ソフトウェアを部品として再利用 ...
0882ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 21:32:27こうのように、継承の概念は、ソフトウェアの再利用性を確保する役目を果たし、生産性の向上に役立ちます。
標準的なクラス群を部品として用意しておき、 ...
0883ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 21:33:230884仕様書無しさん
2007/03/24(土) 21:35:340885仕様書無しさん
2007/03/24(土) 21:38:25キ○ガイ>>779が勝手なOO論で暴れてるだけwww
ここはいつから厨の隔離スレになったんだ。激ワロスwww
別スレ立ててそこでやれよ。
0886仕様書無しさん
2007/03/24(土) 21:41:100887仕様書無しさん
2007/03/24(土) 21:43:32OOが再利用性に有効なのは明らかだから、別に暴れなくていい。
0888仕様書無しさん
2007/03/24(土) 21:55:310889仕様書無しさん
2007/03/24(土) 21:59:32OO分かんない奴、OOの有効性に懐疑的な奴は、OOやめとけ
でいいと思うんだけど、ことプロジェクトとなるとそういうわけにも
いかないんだよなぁ。全員が同じ手法でやってもらわなきゃめちゃく
ちゃになっちまう。なぁ、蛍光灯さん。
0890仕様書無しさん
2007/03/24(土) 22:01:55\ ,/ヽ
 ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ,/ ヽ
∧_∧ ∧∧ ,/ ヽ
( ´∀`) (゚Д゚,,),/ ヽ
( ) (|電 つ@ ヽ
| | | ___ 〜|球 | ヽ
(__)_) |――|. ∪∪ ヽ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ヽ
/⌒\/⌒\/⌒\/⌒\|彡~゚ ゜~ ~。゜ ~ ~ ~ ~~ ~ ~~ ~ ~~ ~~ ~~
⌒\/⌒\/⌒\/⌒\/⌒\彡 〜 〜〜 〜〜 〜〜 〜 〜
0891とりあえずこれまで出た未着手の設計寝た。あんまり興味は湧かないが
2007/03/24(土) 22:01:59→爺曰く、「ビジネス例外」処理サーバで処理との事。www
>>771 在庫の引きあてトランザクション処理も追加してください
>>809 在庫をストックする場所は複数で、在庫連動をマネージする仕組みも必要
→まず、現在の在庫管理システムの仕様を調査して、受注時に在庫引当処理しるw
>>774 そのクラスが直販をしているメーカ本社であったとすると 代理店が複数あった場合はどうなりますか?
→いみふめ
>>807 直販&&一次代理店&&取次店&&二次代理店&&紹介手数料支払いルール&&大量業務販売卸
→日本語でおk
>>777 直販の仕入れ価格と、代理店の仕切り価格がばらばらだとその管理も考慮しなくてはなりませんね。
>>778 一次代理店と取次ぎ店と二次代理店があった場合はもっと複雑になってきますね。どーしましょうか?
>>808 同一商品の仕入先は多数でその時の相場で変動する
→価格付けルールの問題かと。
>>810 輸入品のため、予約注文はインボイス日時の予想をするシミュレータが必要
→で、一体何を設計して欲しいんだ?シミュ?それともインボイス日時を含めた受注処理?
>>813 個人のお客でもある一定ロット数以上の注文ならば業務販売卸価格を適用できる
この場合は個人客の監査を行い、問題が無ければ顧客リストに登録できる仕様
→価格付けルール+顧客管理システムへ丸投げだろw
0892仕様書無しさん
2007/03/24(土) 22:06:09資産管理が重要です
まともな設計書が書かれていないデスマーチPJの資産を
再利用するなんてとてもとても
何を再利用したらいいか分かんないんだからね
0893仕様書無しさん
2007/03/24(土) 22:07:250894仕様書無しさん
2007/03/24(土) 22:07:460895仕様書無しさん
2007/03/24(土) 22:09:200896仕様書無しさん
2007/03/24(土) 22:14:090897仕様書無しさん
2007/03/24(土) 22:14:35「再利用」っつうのは
・古いアプリのコードを再利用する (例:COBOLのビジネスロジックを取り出す)
っつうしょうもない例ばっかじゃなくて、
・コピペで埋め尽くされたダメコードを書かなくても済むようにする
っつう差分プログラミング的側面が大きいんじゃないか、と。
そして、少しだけ新しい世代の差分プログラミングとして、
・アスペクト指向
・メタクラス・プログラミング
みたいなのをもっと広めてもいいんじゃないか、と。
0898仕様書無しさん
2007/03/24(土) 22:15:26全てを一つの手法に統一する必要はないだろ?
お前のPJでも全てがOOに統一とか、まずなってないよ。
たとえば、デバイスドライバやOSのAPIはどうよ?
結局、うまく切り分けて設計してるだけで
それに気づいてないのはお前の視野が狭いから。
0900仕様書無しさん
2007/03/24(土) 22:16:23あの便利さは異常
0901897
2007/03/24(土) 22:16:39・純関数型プログラミング
・ルールベース・エンジン
なんて笛や太鼓も活用したらえーじゃないか、と。
0902仕様書無しさん
2007/03/24(土) 22:20:55要するに Haskellのように型推論を備えた純関数型言語を、
今で言うSOAのルール・エンジンみたいな形で使いたい、
ってそういう話だろ。な、たかひろ?
0903仕様書無しさん
2007/03/24(土) 22:21:43・ルールベース・エンジン
これ使う層は被らなそうだな。。
だがビジネスロジックはオブジェクト指向より
関数型プログラミングの方が適合しそうな気もする。
0904仕様書無しさん
2007/03/24(土) 22:21:450905仕様書無しさん
2007/03/24(土) 22:24:12> 関数型プログラミングの方が適合しそうな気もする。
CommonLispでアプリサーバ書いてる某苫※地氏の所へ
生贄お一人様ご案内〜
0906仕様書無しさん
2007/03/24(土) 22:25:12> 関数型プログラミングの方が適合しそうな気もする。
恵比寿のO社へ一名様ご案内〜w
0907仕様書無しさん
2007/03/24(土) 22:30:560908仕様書無しさん
2007/03/24(土) 22:32:210909仕様書無しさん
2007/03/24(土) 22:37:230910仕様書無しさん
2007/03/24(土) 23:04:490912仕様書無しさん
2007/03/24(土) 23:08:510913仕様書無しさん
2007/03/24(土) 23:10:18チミが埋め立てにかかっているのは百も承知だが
新しいスレにはこのスレのネタをふりまきまくる予定だ
って事もお忘れなくw
0914仕様書無しさん
2007/03/24(土) 23:10:490915仕様書無しさん
2007/03/24(土) 23:11:47注意:池沼が会話にならない自作自演を続行中です
0916仕様書無しさん
2007/03/24(土) 23:14:150917仕様書無しさん
2007/03/24(土) 23:15:450918ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:21:48メンテナンス性が一番悪いのがOOちゅが書いたやつだけど
どうしてくれる?
古参の主任もお手上げだ。
なぜなら全部書き直さないとまともにならないからあきらめてる。
とにかく可読性が悪い。
俺だから読めるけど、前任者と前々任者はお手上げだった。
ノイローゼになってやめたようだ。
0919仕様書無しさん
2007/03/24(土) 23:24:020921仕様書無しさん
2007/03/24(土) 23:26:40プライドは高いために自分の無能さに目を向けることができずに、
他者を批判することでフラストレーションを解消しようとしている
だけと思われ。
まとまった業績のひとつも上げれば頭も冷えるのだが、
焦りがあるので長期的な取組みができず、目先の目新しそうなもの
(で、ちょっとよさげなもの)につい飛びついてしまう。
そういう香具師は、トイ・プログラムでもいいから、オブジェクト指向設計
でプログラムを一本インプリメントしてみて、プチ達成感でも味わうのが
よろしいかと。
0922仕様書無しさん
2007/03/24(土) 23:27:010923仕様書無しさん
2007/03/24(土) 23:28:29今じゃばっちり理解したから、今度からはうまく作るよ。ゴメンな。
0924仕様書無しさん
2007/03/24(土) 23:34:25これを正しく書ける/書けない/そもそも意味が分からないで
とりあえず、OO意識度の大雑把な3段階評価はできるぜ。
0925仕様書無しさん
2007/03/24(土) 23:35:26>なぜなら全部書き直さないとまともにならないからあきらめてる。
あきらめて済んでしまうようなメンテなら
やらなければ良いんじゃないの?
0926ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:40:031)在庫状況
2)入荷予定
3)発注
4)商品登録
>
で、在庫状況クラス 入荷予定クラス 発注クラス 商品登録クラスをcommandパターンで作って
インスタンス作っててキューにプッシュバックしてエクゼキューターに渡すと
各インスタンスが自分の文字列を表示して上の画面が出てきて、選択すると各インスタンスが
結合されたビジネスロジックを呼び出して処理するというものだ。
構造化だけなら2000行、一本で終わるのに、クラスを10も20も作ってがばかかあほかと
0927ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:41:30オセロのことならあれは「準定数」だ。定数ではない。
拡張したとき変更される可能性があるのでああした。
0928仕様書無しさん
2007/03/24(土) 23:46:230929ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:47:38・工数がかかる
・メンテナンス性が悪い
・意外かもしれないが、余計な結合がいっぱいできていて、一部の変更だけを行うのが非常に困難。
ピンポイントの仕様変更がしづらい。
0931ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:50:51initSystem()でやってる。
ソース嫁
0932ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:51:34画面数は50くらいある。
手に負えん
0933仕様書無しさん
2007/03/24(土) 23:52:17なんでもかんでもOOを適用しちゃだめだって話だな。
ファウラーもむやみにトランザクションスクリプトを切り捨てちゃだめだよって
言ってるしな。
0935仕様書無しさん
2007/03/24(土) 23:54:010937仕様書無しさん
2007/03/24(土) 23:56:080938ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:56:44使うときは使うさ
0939仕様書無しさん
2007/03/24(土) 23:57:110941仕様書無しさん
2007/03/24(土) 23:59:040942ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/24(土) 23:59:04そんなことした覚えがあるが・・・・
0943仕様書無しさん
2007/03/25(日) 00:00:05なにそれ?
あのねー、結局、全体では
そのOO厨とやらのコードは何行ぐらいで、
それを tIS/.aX84 が書くと何行ぐらいになるのか言わないと
tIS/.aX84 の主張には何の正当性もないことになるだろ・・・
0944ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/25(日) 00:00:08final厨はfinal以外知らないみたいだねえ
0945ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/25(日) 00:02:560946仕様書無しさん
2007/03/25(日) 00:04:27途中あった1の書き込みもテンプレに追加しとけ。
0947仕様書無しさん
2007/03/25(日) 00:05:030948仕様書無しさん
2007/03/25(日) 00:05:33checkstyle常用してなきゃ、まず使ってみれ。
メソッドや引数は基本final
そうすりゃオーバライド出来るものは設計上オーバライドさせたいものに限定される。
0949仕様書無しさん
2007/03/25(日) 00:05:59http://pc11.2ch.net/test/read.cgi/prog/1174746731/
0950ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/25(日) 00:08:17どうしてくれるんだよ?
0951仕様書無しさん
2007/03/25(日) 00:11:00突っ込まれまくりなんだから自覚したほうが今後のおまぃ自身のため
0953仕様書無しさん
2007/03/25(日) 00:13:38「継承のために設計し、文書化する。そうでなければ継承を禁止する」こと。
継承はプログラムを複雑化する。継承しないですむのであればしないにこ
したことはないんだよ。
0954仕様書無しさん
2007/03/25(日) 00:16:50ID:ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84
を基地外と認定いたしました。
0955仕様書無しさん
2007/03/25(日) 00:24:16・密結合によりデスマ化したシステムの事例
148 名前:仕様書無しさん[] 投稿日:2007/03/19(月) 22:08:24
ビジネスロジックに対する正しい対処法:
そういうところに関わらない仕事で食っていく。
ドカタ仕事はドカタに投げる。ドカタはそれが技術と思って喜んで作っては捨て作っては捨てを
繰り返す。無限にデスマを続けながら、俺は先端技術者だぜイェーイと喜ばせておく。
やっすい単金で。
0956仕様書無しさん
2007/03/25(日) 00:25:17ただし、電球のように頭から否定する奴は
自分の視野が狭いか見えてないことに気づいた方がいい
全てを理解した上で否定するなら良い意見となるが、
そうでないならガキのわがままと変わらん。
0958仕様書無しさん
2007/03/25(日) 00:33:08アド町っくの親戚か?
0959仕様書無しさん
2007/03/25(日) 00:33:28将来的な拡張を見越して作ってるんだから。
しかしプログラムはシンプルなほうが良い。
じゃあどうすればいいんだろうか。
0960仕様書無しさん
2007/03/25(日) 00:35:20細かい部分の理解の仕方や度合いに
拘りすぎるのは本末転倒なんだよな。
どうしても困る部分があるなら
それこそ、要件定義のつもりで
擦り合わせしとけばいいんじゃないか。
0961仕様書無しさん
2007/03/25(日) 00:35:57すなわちYAGNI
0962仕様書無しさん
2007/03/25(日) 00:36:11馬鹿のためのものではない。
的確にOOPで書かれたソースを読めないというのであれば
自分の不勉強を呪えと思うけど。
0964仕様書無しさん
2007/03/25(日) 00:40:07その時点で不要なものは作らないこと。
そんなものは将来の拡張時の邪魔になるだけだからな。
096569式オサンクローン ◆4E1yVnBRhg
2007/03/25(日) 00:41:06代入だけでいいんだろ?OOいらねえじゃんか
0966仕様書無しさん
2007/03/25(日) 00:41:18充分に理解しないまま設計しているもんだ。
0967仕様書無しさん
2007/03/25(日) 00:41:26>OOPは精鋭が生産性を高めるためのもの
間違いです。正しくは
OOPはんぽぽんでも生産性を高められるようにするためもの
0968仕様書無しさん
2007/03/25(日) 00:41:360969仕様書無しさん
2007/03/25(日) 00:42:50具体的な話を知らないからだって
じっちゃんのお医者がゆってた
0971※未承諾広告
2007/03/25(日) 00:47:51ただいま、この大願成就のオブジェクト壷、
通常価格¥10、000,000,000の所を
先着5名様になーんと
¥10、000,000
という特別価格で提供しちゃいます。
しかも!
通常なら別売りの
・隙間アダプター ・・・タンス裏のホコリを取るのに便利ですね!
・高枝切バサミ・ストラテジー ・・・コウルサい上司を簡単に切れますよ。便利ですねぇ!
・収納コンテナー ・・・使わなくなった壷をスマートに格納できますよ。いいですね!
の三点セットで、なんと
¥10,000,000
いまなら送料無料です。ご注文は画面下側のURLまでどうぞー
097369式オサンクローン ◆4E1yVnBRhg
2007/03/25(日) 00:48:32んぽぽんだから無理はない。
0974仕様書無しさん
2007/03/25(日) 00:50:22使わないで済むのであれば、使わないにこしたことはない。
つまり、カプセル化は良心で、継承は傘で、ポリモーフィズムは
クレジットカードだ。傘とカードは有事の際にはとても便利だ。
0975960
2007/03/25(日) 00:51:24俺も不勉強な人間は勉強しなければならないという考えはある。
しかし、お前のPJはほったらかしのやりっぱなしな印象を受けるなw
開発メンバーの力量にあわせたレベルでの調整はしないのか?
実際、そういう事を適切に選択しないとグダグダになりそうだけどな。
0976仕様書無しさん
2007/03/25(日) 00:54:42マチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 次スレまだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| ワカランチン祭り中 |/
0977仕様書無しさん
2007/03/25(日) 01:06:34www
カプセル化は作法なので重要度は低い。
継承とポリモーフィスムはアーキテクチャなので重要。
使わないで済むとかどうかの問題ではないのです。
0978仕様書無しさん
2007/03/25(日) 01:11:300980ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/25(日) 01:13:420981仕様書無しさん
2007/03/25(日) 01:13:490982ココ電球(∩T∀T)y-~~~~ ◆tIS/.aX84.
2007/03/25(日) 01:16:23宗教論をその宗教に興味ない人間に吹っかけても無意味だとなぜ気づかんのだ?
大事なのは現実の生産性や論理、実証、体験であるのに
「論拠主義」という平安時代の古臭い論法で考えてる。
0983仕様書無しさん
2007/03/25(日) 01:16:570984仕様書無しさん
2007/03/25(日) 01:19:45ただ電球がOOは無意味と確信犯として言いふらし、
有識者に冷笑されるだけだ
0985仕様書無しさん
2007/03/25(日) 01:24:46そんなオナニー設計強制すんなよ。
継承ツリーの深さはエラー率の上昇と関係あんだぞ。
0986仕様書無しさん
2007/03/25(日) 01:25:450987仕様書無しさん
2007/03/25(日) 01:25:540988仕様書無しさん
2007/03/25(日) 01:28:370989仕様書無しさん
2007/03/25(日) 01:29:03OO厨に必要なのは話し合いと協調性
厨的に言うと、継承ひとつとっても
ポリシーの適用の違いで継承の仕方も変わってくるだろ。
開発してればわかると思うが万能なものはないし、
万能に近づけたつもりのものは無能なもの(意味がないという意味)に
なったいたりする。
オセロでも将棋でも動くプログラムなんて、まさにそっちの部類だな。
OO厨に言いたい事は
「OOを知って感動してるのは、もう伝わったから早く正気に戻れ」
これだけw
0990仕様書無しさん
2007/03/25(日) 01:30:32オブジェクト指向でこんだけグデングデンだと、
SOAP−RPC基い、ワールドワイドウェッブなんて夢のまた夢てことでおKですか?
0991仕様書無しさん
2007/03/25(日) 01:31:490992仕様書無しさん
2007/03/25(日) 01:34:08グデンクデン
だが
そ こから
読み取れ る
示唆もある
。
0993仕様書無しさん
2007/03/25(日) 01:34:330995仕様書無しさん
2007/03/25(日) 01:37:42まぁ10年前からOOバリバリでWebアプリ作り散らかして
余力でORマッピング付きのJ2EEもどきやら、
XMLもどき使ったWebサービスでPerl-Java連携やってたおいらにゃ、
おまいらひよっこはとてもカワイイよ。
もっと精進して、対等に渡り合える存在になってくれ。
アディオスアミーゴ
0996仕様書無しさん
2007/03/25(日) 01:51:24似非オブジェクト指向で石ころゴロゴロけつまずくタイプですなwww
0997仕様書無しさん
2007/03/25(日) 02:04:19おまえの発言っていみふめ。
0999仕様書無しさん
2007/03/25(日) 02:26:12なぜ気づかんのだ?
にすべきだったか
1000仕様書無しさん
2007/03/25(日) 02:27:1410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。