オブジェクト指向システムの設計 171 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2016/06/11(土) 18:18:23.98ID:NAulAg4n・単一責任の原則(SRP)
・オープン・クローズドの原則(OCP)
・リスコフの置換原則(LSP)
・インターフェイス分離の原則(ISP)
・依存関係逆転の原則(DIP)
オブジェクト指向設計に関する原則の頭文字をとって「SOLID」とまとめられた原則集。
http://qiita.com/hirokidaichi/items/d6c473d8011bd9330e63
S SRP Single Responsibility Principle(単一責務の原則)
「クラスを変更する理由は1つでなければならない」
O OCP Open/closed principle(開放閉鎖の原則)
「クラスは拡張に対して開き、修正に対して閉じていなければならない」
L LSP Liskov substitution principle(リスコフの置換原則)
「派生型はその基本型と置換可能でなければならない」
I ISP Interface segregation principle(インターフェース分離の原則)
「クライアントが利用しないメソッドへの依存を強制してはならない」
D DIP Dependency inversion principle(依存性逆転の原則)
前スレ
オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1464617322/
0153デフォルトの名無しさん
2016/06/14(火) 13:52:58.25ID:ivY0lwHlだったら建築の話を抜いて書き直せ。
内容がないことに気付くだろうから。
0154デフォルトの名無しさん
2016/06/14(火) 13:58:18.05ID:HFPvSksZ内容なんて全くないよ
普通にソフトウェア作ってれば知ってる事を知らない奴がいるからわざわざ他の製造業を引き合いにして説明してんだから
それとなぜそこまで絡むのかも俺には理解できないけどな
0155デフォルトの名無しさん
2016/06/14(火) 14:03:14.85ID:ivY0lwHlだろ。内容ないんだから書き込むなよ。
お前が思ってるより他の人は知識があるし、何も知らないで連投してる荒らしは相手すんな。
0156デフォルトの名無しさん
2016/06/14(火) 14:35:00.21ID:LIAgHHXu建築士だって、全く何も知らないどころか「強度計算なんて役に立たない無用の長物」と喚いてる馬鹿に強度計算の詳細を説明しろと言われたら面倒くせってなるだろw
それ説明して金払ってくれるなら説明するだろうが、客でもない奴にそれを説明する建築士がどれだけいるかねぇ?
0157デフォルトの名無しさん
2016/06/14(火) 14:41:18.16ID:ivY0lwHlだよな。
0158デフォルトの名無しさん
2016/06/14(火) 16:23:27.83ID:LIAgHHXu建築では設計段階で作るという事を全くしないのか?
答えは否、日常的に作るという事をしている
ソフトウェアと違って実物に近いものを作るのはサイズ的にもコスト的にも困難であるため多くの場合模型という手段を取るだけだ
建築模型士という職業が成立するぐらいには建築業において設計段階での試作が行われている
基本的な型の決まったセミオーダーの建築であれば最終的な図面を固める前にモデルルームやモデルハウスと言った限りなく完成品に近い試作品を使って最終設計を詰めることもある
>同じ製造業でありソフトウェアは後発で設計・製造・試験のノウハウは建築業含む他の製造業から取り入れているのは明白
>>152の言うこれが正しいするならば、プロトタイピングはもっと推奨されるべきだな
0159デフォルトの名無しさん
2016/06/14(火) 16:49:38.14ID:dYSnVaKQ具体的プロセスのノウハウを取り入れてるわけじゃないと思うよ。
建築模型士という職業が成立するということと、プロトタイピングが重要なことに、関連性はないと思うよ。
建築業とソフトウェア開発が何か密接な関係があると思われてるのは、クリストファー・アレグザンダーが
建築家だったせいかもしれん。
0160デフォルトの名無しさん
2016/06/14(火) 16:58:08.57ID:LIAgHHXu建築を例に持ち出したやつへの単なる当てつけなので俺自身は建築とソフトウェアの関係が深いとは全く思っていないよ
0161デフォルトの名無しさん
2016/06/14(火) 19:22:36.65ID:x23BehJNオブジェクト指向うんこだから
解決策持ってないよね
0162デフォルトの名無しさん
2016/06/14(火) 21:06:56.34ID:MJXh41jF0163デフォルトの名無しさん
2016/06/14(火) 21:39:32.89ID:x23BehJN設計思想など捨てた
必要なものを必要なだけ作る
形など持たない
無形の位
0164デフォルトの名無しさん
2016/06/14(火) 21:52:46.07ID:GeGW2Y+g0165デフォルトの名無しさん
2016/06/14(火) 21:59:55.11ID:VJ/4c5wE0166デフォルトの名無しさん
2016/06/14(火) 22:17:14.22ID:RUir73Dkオブジェクト指向を使わないプログラムのほうが、プロとタイピングも容易で論理エラーの検出も容易なんだから
そしてプロとタイピングからスムーズに本設計に以降できないからお前達のいう"出来の悪い"オブジェクト指向フレームワークの出来上がりだ
その出来の悪いフレームワークでもプロトタイプのユースケースでは問題ない設計だったのかもしれない
10KBの入力データサイズ処理とを1GBの入力データサイズに"再利用"できると思っている
割り箸で組んだ橋に人間がのれないことは馬鹿でもわかることだが
計算機もリソースに制約があると考えていないから、再利用できるとかんがえてしまうんだね
事あるごとの変更におびえるのは、アーキテクチャそのものが脆弱だからにほかならず、一から設計できないからなんだよ
いちから設計できる人間は変更におびえる必要ないからな
0167デフォルトの名無しさん
2016/06/14(火) 22:23:39.41ID:RUir73DkSunが営業戦略でやってたキャッチコピー以外でてこないしそれは他の言語でもサポートされている
再利用性が高いのなら、なぜ今でも情報システムにたいするコストが下がらず、いまだにIT技術者不足になっているんだろうね
0168デフォルトの名無しさん
2016/06/14(火) 22:26:43.03ID:MJXh41jF0169デフォルトの名無しさん
2016/06/14(火) 22:30:29.95ID:VJ/4c5wEオブジェクト指向が生産性を高めて短時間で高品質で膨大な量の開発を可能にした
ITの仕事はこれで楽になるかと思ったが皮肉にも要求の方も多くなり人間が行う仕事量は減らなかったんだ
この業界の常識だから覚えておこうね新人君
0170デフォルトの名無しさん
2016/06/14(火) 22:33:26.92ID:RUir73Dkオブジェクト指向を理解しているが、このシステムは初めての新人を突っ込んだらどうなるか
この問いの答が想像できない奴でも設計できるのがオブジェクト指向
山のように作られたドキュメントとソースコードをたたき付けて
ドキュメントを読めばわかるといえばいい
そんな文化だよな
0171デフォルトの名無しさん
2016/06/14(火) 22:35:21.62ID:RUir73Dk結局何一つ再利用出来なかったってことでしょ?
俺の指摘通りの結果だよね
0172デフォルトの名無しさん
2016/06/14(火) 22:42:58.42ID:VJ/4c5wE新人もスンナリと頭に入ってくる美しいOOPシステムに気分が良くなるだろうね
逆にOOPをやれない粗雑で扱いにくいシステムに放り込まれた新人は即転職だ
最悪の場合そのまま自殺もありえるかわいそうに
0173デフォルトの名無しさん
2016/06/14(火) 22:48:10.44ID:x23BehJNいいね
0174デフォルトの名無しさん
2016/06/14(火) 22:48:16.02ID:MJXh41jFほら自分のお気に入りパラダイムならどうなるかが抜けてるよ、気をつけて
もう一回書き直し
0175デフォルトの名無しさん
2016/06/14(火) 22:51:15.44ID:x23BehJN0176デフォルトの名無しさん
2016/06/14(火) 23:08:22.06ID:XorM60VVドキュメントは関数に紐づくだけだね
このクラスには
このメソッドがあります、
このメソッドは、何々インターフェースを実装しています
このメソッドはObjectクラスから継承されたものです
このクラスにおいては型制約を満たした型パラメータしか入力できません
このメソッドはオーバーロードされます(同じ名前のメソッドがずらずら)
これがクラスの個数だけ繰り返されると
まずドキュメントからしてDRY原則が崩壊してることぐらいわかるよな
自分の欲しい機能だけを簡単に切り出すことができないし、クラスの数だけ同じ文面がくり返される
僕らならこんなことはしない
関数はこんなに恩着せがましくもばければ、クラスを使う度にいらないメソッドを押し売りなんてしない
試しにmsdnでdictionaryクラスのドキュメントでもみてきたらどうだ
正確にはSystem.Collections.generic.Dictionary <TKey,TValue>クラスな
こんだけ長いドキュメントを読み込んで、ようやく使えるこれ
javascriptなら{}って書くだけで使えるんだが
0177デフォルトの名無しさん
2016/06/14(火) 23:10:40.26ID:XorM60VV0178デフォルトの名無しさん
2016/06/14(火) 23:18:26.39ID:XorM60VVもうかなり時間がたったしね、C++ が時間の無駄だということにはほとんどの人が気がついたとは思うけど、
でも当初予想していたよりはずいぶん時間がかかったな。
I: 具体的に何をどうやったのかな。
S: 最初はほんの冗談のつもりでね、みんながあの本を真に受けるとは思ってもみなかったんだ。脳みそが半分でもあれば、
オブジェクト指向プログラミングが非直感的で、非論理的で、非効率なことくらいはわかるよね。
I: え?
S: それに「コードの再利用性」ときたら…。どこかの会社がコードを再利用したなんて話を聞いたことがある?
I: いや、実はないんだけども、でも…。
...
I: だんだん呆れてきたと言わざるを得ないな。プログラマの給料を上げるためにやったって言ったね? それはひどい話ではないのかな。
S: そうでもない。選択の自由は誰にでもある。こんなに話が膨らむとは思わなかったんだ。
ま、いずれにしても、基本的に僕の策略は成功したんだ。C++ は今や消え去りかけているけど、でもプログラマの給料は高いままだ。
特に、糞みたいな C++ コードをメンテナンスしなきゃならない哀れな連中はね。大規模な C++ モジュールなんて、自分で書いたのでない限りメンテナンスできないことは理解してる?
くそみたいなコードをいじくりまわして生計立てられるようになったのはストラウストラップのおかげだから、感謝するように
0179デフォルトの名無しさん
2016/06/14(火) 23:31:50.78ID:M6DJWkXG> オブジェクトにたいするパブリックアクセサメソッドを通じたオブジェクトの内部変数へのアクセスが
> 事実上のグローバル変数として機能しているという認識がないのな
それは間違い。
もし、そのオブジェクトがグローバルオブジェクトであれば、
(えっとな、グローバルオブジェクトっていうのはどこからでもアクセスできるオブジェクトって意味だ)
グローバルオブジェクトに対する内部変数のアクセスは、たしかにグローバル変数だと言えよう。
だけど、グローバルオブジェクトなんてめったにない。
ローカルオブジェクトに対する内部変数のアクセスは、全然グローバルじゃない。
グローバル変数って言うのはどこからでもアクセスできる変数のことだ。
グローバルオブジェクトじゃない以上、どこからでもアクセス出来るわけじゃない。
っていうか、なんでこんな超初心者レベルの話をしないといかんのか?
0180デフォルトの名無しさん
2016/06/14(火) 23:41:19.90ID:F7mhDIzvで、この部分をいかにシンプルにするかにすべてがかかっている、と思っている
AがBのメソッドを呼んで、そのメソッドから逆にBがAのメソッドを呼び返して、さらにAがBのメソッドを呼び返して・・・
とかと、メッセージパッシング合戦はまったくの糞としか言いようがないからしたくない
単に複雑だし、最初にAがBのメソッドを呼び出したとき、Aは自分のメソッドの処理の途中だから、状態が不完全かもしれなく
その状態でBがAのメソッドを呼び返して、Aのメソッドが正しく動くかどうかわからないからね
これはご法度
こういうことが起きないように注意を払ってクラス設計するわけだが
最終的に出来上がった最適解は、クラスという間接的な形でアウトプットされる
本当のノウハウ自体はそこにはなく、別のところにある
なぜそういうクラス設計にしたのかと聞かれると、実際の手続き(メソッド内)で発生するであろう
諸所の動的な問題の話をしなければならなく
静的なベン図のようなものしか考えず、猫と犬は動物で猫はニャーと鳴くから、とかそんな単純なものではない
0181デフォルトの名無しさん
2016/06/14(火) 23:43:03.25ID:mQ0l4Gv2例えばサーバサイドJavaから入ってフレームワークを利用するような経験が多い人は設計コストは少ないと思うし、それをやり玉に挙げるのはフェアな討論ではないと思う
個人的にはOOPとしてのJavaの利点の一つにカプセル化のための細かなアクセス修飾子にあると思う
例えばC言語のfopenで使うFILEはポインタ型で定義されているが、大概の処理系ではFILEの中身の構造体はヘッダファルに書かれているのである意味公開されている
この関数自体はANSI-C規定なのでIFとしては処理系には依存しないがFILEポインタの中身に関しては規定がないので実装依存になる。
つまりFILEの中身はヘッダに書かれていようが触ってはいけないのが暗黙のルールとなっている。
もちろん処理系が固定でstdiolibの実装を熟知しているなら触るケースがあるかもしれないけどこれは稀なケースだ。
0182デフォルトの名無しさん
2016/06/14(火) 23:43:26.82ID:mQ0l4Gv2これはC言語にはないJavaの強力なアクセス修飾子による恩恵だと言える。ルールベースではなくシステム的にアクセスできないカプセル化の機構はソースコードを見ただけで設計思想が十分に伝わる個人的には説得力のあるコードが書けると思っている。
ただ、このJavaのカプセル化を正しく使って自前のクラスを設計できてる人間がどれだけ居るかと言われると半分にも満たないと思う。
勝手に非公開のメンバ変数やメソッドをpublicに直して動かしましたなんて事する人間は多くいるしpublicが好きならpythonでもやってくれって思う事は多々ある。
別にJavaエンジニア批判をするつもりはないし、C言語書きが皆優秀なんて思ってもいないが、ここでC言語書きの人たちの主張の根源はこんな感じじゃないのかなと個人的に思ったので。
元C言語書きで現在Javaメインでやってる自分としてはヘッダファイル書かなくていいのと最近のIDEのJVM系言語の強力さ、ビルドツールの充実さからJavaの方が気楽で好きではあるけど。
長文失礼。
0183デフォルトの名無しさん
2016/06/14(火) 23:50:24.10ID:M6DJWkXG> こういうことが起きないように注意を払ってクラス設計するわけだが
普通に「層」という考えで作れば
そういうことは起きないよw
オブジェクト間に層が無くて単一の層で
相互関係がってやるから難しくなるんだよ。
「層」を作ってやれば、大して難しい話じゃない。
0184デフォルトの名無しさん
2016/06/15(水) 00:13:10.43ID:ytrU1urc>自分の欲しい機能だけを簡単に切り出すことができない
ライブラリを参照したら結局必要ない関数もついてくるしあんまり変わらないんじゃないの?
関数内でほかの関数呼んでる場合もあるし、欲しい関数だけ切り出しても動かない事も多いでしょ
>javascriptなら{}って書くだけ
リファレンスと表記の仕方を比べても意味が無い
それにECMAScriptの公式リファレンスには同じくらい長い文章が出てくると思うよ
>>178
それネタだから
http://www.stroustrup.com/bs_faq.html#IEEE
0185デフォルトの名無しさん
2016/06/15(水) 00:16:28.62ID:pWxix8Mt0186デフォルトの名無しさん
2016/06/15(水) 00:22:32.71ID:wTcNi+2O馬鹿がやって混乱させてるのを見てわかるだろ。
馬鹿がプログラミングするんじゃねーと。
0187デフォルトの名無しさん
2016/06/15(水) 00:40:38.22ID:UElfrvhY簡単なことしかやれない馬鹿のほうがよほど価値があるよな
OOには生産性もなければ、再利用性もない
プロトタイプには普通動的言語使うし、テストにもいちいちフレームワークが必要だという
静的言語でアジャイルとか言ってる奴とかいるよな、馬鹿なんじゃないの
0188デフォルトの名無しさん
2016/06/15(水) 00:45:09.83ID:UElfrvhY極めつけはリフレクション使ったりしてな
シャベルで鉄鋼に穴をあけるばかはさすがにいないだろ
それ使う道具まちがえてますよ
そんなのでも設計名乗れるのがオブジェクト指向
白痴でも設計をなのれるのは、OOをのぞいてほかにねえから
0189デフォルトの名無しさん
2016/06/15(水) 00:45:34.64ID:lIUne/jR0190デフォルトの名無しさん
2016/06/15(水) 01:00:33.77ID:ytrU1urc手続き型、関数型vsOOじゃ戦えなくなってきたから静的vs動的に切り替えたの?それOO関係無いよね
もう一回書き直し
0191デフォルトの名無しさん
2016/06/15(水) 01:02:38.10ID:SLYlY5zm最近はもうpakage defaultでいいやってなってる
0192デフォルトの名無しさん
2016/06/15(水) 01:11:51.77ID:pWxix8Mt0193デフォルトの名無しさん
2016/06/15(水) 01:19:50.46ID:SLYlY5zm0194デフォルトの名無しさん
2016/06/15(水) 01:19:58.13ID:Onzr2dahよお馬鹿
0195デフォルトの名無しさん
2016/06/15(水) 01:20:31.94ID:gHR2VZA2> 簡単なことを複雑にやるばかほど生産性が低い人間はいない
> 簡単なことしかやれない馬鹿のほうがよほど価値があるよな
これは日常生活レベルで同意出来る
> OOには生産性もなければ、再利用性もない
生産性に関しては手続き型のモジュール化構造もOOも違いはないと思う
再利用性に関しては切り口次第だし、汎用性を上げなければ再利用性は上がらないのでOOだからとは思えない
> プロトタイプには普通動的言語使うし、テストにもいちいちフレームワークが必要だという
それは要件定義フェーズでモック実装のUI評価とかなら分かるが設計評価・性能評価を意図したプロトタイピングならプロダクトコードで利用予定の言語で書くのが一般的だと思う
テストフレームワークはただのツールなのでメリットがないなら利用しなければいいだけ。必要なんて事はない
> 静的言語でアジャイルとか言ってる奴とかいるよな、馬鹿なんじゃないの
それは動的言語は開発速度が早い神話かなにかの話かな?
0196デフォルトの名無しさん
2016/06/15(水) 01:21:49.35ID:UElfrvhYそれこそ再利用性もなければパフォーマンスもでない、でも金をかけたから使わざるを得ないような、技術的負債を山ほど積み上げるからね
だいたいOO黎明期で使われてたフレームワークや、開発手法が陳腐化している時点で終わってるよな
C#の例で行くとまずコレクションクラスからして非ジェネリックと、ジェネリックの二つがある
List<Object>とArrayListは同じものと見なせるのかそれとも違うものなのか
データベースだってefだのlinq to SQLだの直接SqL発行するだのいろんな手口がある
そしてefにいたっては、いわゆる貧血ドメインモデルそのもので、なぜそんなフレームワークが一番最新のものとなっているかなんてオブジェクト指向の文脈からすれば謎だ
GUIにいたってはsilverlightは撤退したし、wpfはxamlとかいうオリジナルxml勉強しないとだし、mvvmも勉強しないとだしweakreferenceがどういう内部挙動を示すのかまともなドキュメントはなく、かといってイベントドリブンライクにかくのは古臭いし
マルチスレッドに至っては...
もうやめようか、おれはどうすればいいかを知っているし、
再利用性に富んだオブジェクト指向フレームワークというのはいけてないという理由だけで腐り、新たなフレームワークが作られる
少なくとも関数型チームからすればqsortはいつまでたってもqsortだし、map reduce filterは言語によって様々な名称にはなるが、同じように使える
ドキュメントを読まなくてもシグニチャがわかれば、言語に寄らず使える
C#なら、select aggregate whereだったか
0197デフォルトの名無しさん
2016/06/15(水) 01:31:43.89ID:UElfrvhY俺はなにをすべきかだいたいみえてるけど、この状態でC#とか勉強し始めようとする奴はかわいそうで仕方ない
0198デフォルトの名無しさん
2016/06/15(水) 02:02:18.05ID:gHR2VZA2Erlangあたりがメインの言語の人なのかもしれないけど意識が高いのは分かった
OOPLがマルチパラダイム化するのは長年使われてきた功労者の側面だし、時代にあったコーディングができないエンジニアは言語問わず淘汰されると思う
個人的には長年使われてエンジニア人口が多い言語はある種の正義だと思うし、質はともかく頭数をそろえるのは簡単だし
新人にいきなり関数型言語を教えるのは難しいと思っている。C#やJavaのとっつきやすさは抜きん出ているし。
だってOOには動物クラスと猫クラスの例えがあるからね。新人にはぴったりだ。
もちろんこんなのはウンコの例えだしある程度経験を積めばこの例えがひどい事はすぐに気づくと思う。
関数型言語の大罪はいつまでたってもサンプルが算術的すぎる事にあると思う。
これは新人が学ぶには敷居が高すぎる。
0199デフォルトの名無しさん
2016/06/15(水) 02:20:05.26ID:gHR2VZA2また、メリットは絶対的に感じるものではなく相対的に感じるものなので自ずと手続き型言語やオブジェクト指向型言語が対抗馬になる。
単一言語しかやらない人にその言語のメリットを問うのは難しいし、話が合わないのは当然だと思う
個人的にはScalaを使う事もあるけど、チーム開発となるとエンジニアの母数から言ってJavaになるのはしょうがないと思っている
0200デフォルトの名無しさん
2016/06/15(水) 04:00:49.97ID:lIUne/jR0201デフォルトの名無しさん
2016/06/15(水) 06:36:36.25ID:RnAU+AQ/まあ、そうだね。
カッタナイフはうまく使いこなす事務の女性が、「日本刀なんてダメよ!仕事で役に立たないわ!」と言う。
包丁の使い方をしらない料理下手の主婦が、「この包丁だめね、おさしみ綺麗に切れない!」と言う。
私は、自転車と自動車と飛行機の違いだと思っている。
自転車はほとんど誰でも乗りこなせて、気楽に買い物できる。
でも、子供との2人乗りはできても、大人を2人運ぶことは難しいし、ちょっと大きな荷物も運べない。
長距離移動も通常は難しい。
自動車は、普通免許とるには勉強と、それなりの運動神経等が必要だし、お金がかかる。
4,5人くらい同時に運べるし、ちょっと大きな荷物も大丈夫。長距離移動も可能。
でも国外への移動は難しい。
飛行機になると、免許書は、自動車免許を取るよりずっと難しくなるし、ボーイングの○○の操縦免許を持っていてもエアバスの××は操縦できない。
英語も必要だし、身体能力のチェックも厳しい。
でも、長距離を高速に移動できるし、旅客機なら大量の荷物も運べる。
無免許運転の罪を問われないとして、普通免許を持っていない人が「ちょっと10km先まで小包とどけてくれない?」と頼まれたとき、自転車と自動車のどちらを選ぶか?って問題と似ている。
自転車を使えば、体力的にちょっと大変かもしれないけど、安心・確実に届けられる。
でも、アクセルもブレーキもよく分らない無免許の人が自動車を運転したら、荷物を届けるよりも事故る可能性のほうが高い。
ここでオブジェクト指向言語に文句を言い続けている人は、無免許で自動車を運転して事故ったか、その危険さを強調しすぎる人たち。
でも、情状酌量の余地もあるかもしれない。
彼らは、自動車程度と考えた難易度が飛行機の免許くらいに広い知識や経験が要求されることを知らなかった。
飛行機を操縦するなら、まずは自動車免許くらいは持っていてほしいけど、それさえ持たない人がいきなり飛行機にチャレンジしたのだから。
0202デフォルトの名無しさん
2016/06/15(水) 08:07:41.61ID:lfIMoC4C0203デフォルトの名無しさん
2016/06/15(水) 08:11:43.28ID:lfIMoC4Cもちろん馬車で欲しい出力が出る人ならいいけどね
それとも馬をエンジンの抽象クラスから継承するかい
0204デフォルトの名無しさん
2016/06/15(水) 08:49:12.12ID:FEVYup+X0205デフォルトの名無しさん
2016/06/15(水) 10:16:06.32ID:i4R0HEqY0206デフォルトの名無しさん
2016/06/15(水) 10:27:51.47ID:DCrbbIQF関数型使えないってErlangの存在だけで崩れさるよね
美しさ使いやすさとかより実用性全振り
0207デフォルトの名無しさん
2016/06/15(水) 11:43:26.20ID:RVEnmxomErlangが(メッセージングOO同様に)関数型を限定的にサポートしている言語だということに異論はないけれど
関数型の扱いにくい部分をさほど追求していないから実用になっていると思うのはうがちすぎ?
0208デフォルトの名無しさん
2016/06/15(水) 11:47:44.75ID:pWxix8Mt偉そうにしゃべってるくせに、実際の設計はまったくできないから笑えるw
ほんとは設計未経験なんだろw
「興味ない」とかいい訳はいらないから。
こんだけしつこく何の役にも立たない書き込みを連投してる暇があるならちょっとは意味のあることしろ。
0209デフォルトの名無しさん
2016/06/15(水) 11:50:07.48ID:pWxix8Mt>>69-74
アホがまた騒ぐのがうざいから>>73に注意。
0210デフォルトの名無しさん
2016/06/15(水) 12:17:20.50ID:cX/y2RD7偉そうに
くせに
笑えるw
設計未経験なんだろw
設計を教えてもらおうという立場の人間が
レスを貰うためにすることが初歩的な「煽り」一本ではね
もっと工夫してみなさい
0211デフォルトの名無しさん
2016/06/15(水) 12:46:11.12ID:TAanDQJ+0212デフォルトの名無しさん
2016/06/15(水) 13:23:15.54ID:2Ug/bEFjJavaやC#等のオブジェクト指向言語を使うこと?
業務システムをドメイン駆動なんたらで作る事?
提唱者だかが考えてたメッセージングなんたら?
多分、分かりやすくて破綻しない手法を目指しているんだとは思うけど
0213デフォルトの名無しさん
2016/06/15(水) 13:44:00.79ID:pWxix8Mt設計できない雑魚は黙ってろw
0214デフォルトの名無しさん
2016/06/15(水) 13:44:52.21ID:pWxix8Mt実際の設計はできないくせにくだらない妄想を連投してる奴にうんざりだよ
0215デフォルトの名無しさん
2016/06/15(水) 13:47:38.55ID:c3Bh5f0V0216デフォルトの名無しさん
2016/06/15(水) 14:00:20.67ID:DCrbbIQF将棋アプリを業務システム風に設計するスレなら別にいいんだけど
0217デフォルトの名無しさん
2016/06/15(水) 15:09:02.08ID:pWxix8Mt設計の経験があるなら将棋の設計もできるだろ
できないんだからおとなしくしてろ
0218デフォルトの名無しさん
2016/06/15(水) 15:09:42.51ID:pWxix8Mt>>73
注意したよ
0219デフォルトの名無しさん
2016/06/15(水) 15:16:42.78ID:i4R0HEqY0220デフォルトの名無しさん
2016/06/15(水) 15:19:04.44ID:i4R0HEqY>>211にするか。
0221デフォルトの名無しさん
2016/06/15(水) 15:23:55.03ID:c3Bh5f0V0222デフォルトの名無しさん
2016/06/15(水) 15:31:53.54ID:DCrbbIQFそれ以外の例を出すべきと言ったんじゃなくて「オブジェクト指向による設計」について同意できてないんだから
設計例だしてもそれはオブジェクト指向ではない
設計ではないで無限ループになるだけという意味
0223デフォルトの名無しさん
2016/06/15(水) 15:47:34.85ID:i4R0HEqY俺がOOだと言えばOOな。
これで争いは起こらない。
0224デフォルトの名無しさん
2016/06/15(水) 15:50:04.31ID:i4R0HEqY駒の絵は最低二つあるから、裏表も持ってるはず。
0225デフォルトの名無しさん
2016/06/15(水) 15:51:57.44ID:i4R0HEqY0226デフォルトの名無しさん
2016/06/15(水) 16:02:15.42ID:2Ug/bEFjこれをどう表現するかだな
p1.crush(board)
board.crushBy(p1)
あるいは「盤をひっくり返す」をあえて用意しない事で、
ゲームとしての純度を上げるという選択肢もあるはず
0227デフォルトの名無しさん
2016/06/15(水) 16:12:12.81ID:i4R0HEqY出てきたアイデアをキチンと図にして見やすくまとめろよ。
ヲラはよせいや。
0228デフォルトの名無しさん
2016/06/15(水) 16:25:42.58ID:JxLjXALvこれは最悪のパターンwww
0229デフォルトの名無しさん
2016/06/15(水) 16:29:30.63ID:i4R0HEqY0230デフォルトの名無しさん
2016/06/15(水) 16:31:44.45ID:JxLjXALv人生とは何かとか、自分とは何か、とか、自分探しするのと一緒の脳の原理で物事を考えている状態
病気
許されるのは大学生まで
0231デフォルトの名無しさん
2016/06/15(水) 16:36:00.86ID:i4R0HEqY0232デフォルトの名無しさん
2016/06/15(水) 16:38:04.70ID:JxLjXALv意味不明www
普通に考えて、少しでも良心のある人間は、UIやグラフィックと思考ロジックは分ける
なぜなら、それらが端的に別の機能だから
クラスがどうとか言い出す前に、まずざっくり大きく機能で分ける
別の機能だから分ける、ごく自然な発想
クラス設計はそのあと
当たり前
まずは普通の考え方ができるようになってください
0233デフォルトの名無しさん
2016/06/15(水) 16:39:31.32ID:i4R0HEqY思考ロジックは人間の担当だ!
0234デフォルトの名無しさん
2016/06/15(水) 16:41:28.33ID:i4R0HEqYその他に手駒を入れとく壺が二個。
0235デフォルトの名無しさん
2016/06/15(水) 16:42:01.23ID:ebZLVttd駒の移動や変身や攻撃モーションの管理とか敵味方とか色とか、
駒のベースクラスから派生した方が綺麗に書ける。
0236デフォルトの名無しさん
2016/06/15(水) 16:43:44.80ID:ebZLVttd意味不明w
UI、表示、ロジック分けたって全部実装する必要があることには変わりない。
0237デフォルトの名無しさん
2016/06/15(水) 16:44:56.93ID:i4R0HEqY0238デフォルトの名無しさん
2016/06/15(水) 17:13:12.92ID:Dz16mfwaどんどんやれ
0239デフォルトの名無しさん
2016/06/15(水) 18:08:48.11ID:pWxix8Mt2スレ以上消費しても何の合意も得られないんだから具体的な例で
のぞましい設計を提示し合えばいいだろ
なんと呼ぶかで延々議論するよりよほど有益
0240デフォルトの名無しさん
2016/06/15(水) 18:10:58.01ID:pWxix8Mt現在までの進捗は
>>74
0241デフォルトの名無しさん
2016/06/15(水) 18:15:05.97ID:pWxix8Mt人をクラスとして表現する必然性は見当たらないからboard.crush()一択
0242デフォルトの名無しさん
2016/06/15(水) 18:55:13.59ID:i4R0HEqY0243デフォルトの名無しさん
2016/06/15(水) 19:12:34.16ID:c3Bh5f0V0244デフォルトの名無しさん
2016/06/15(水) 19:18:49.23ID:i4R0HEqYジュネーブで驚いたことは、皆すばやく隠密行動をとること。
ある意味国民総忍者の国だと思った。
0245デフォルトの名無しさん
2016/06/15(水) 19:19:57.11ID:DCrbbIQFそらそんな議論してないし
0246デフォルトの名無しさん
2016/06/15(水) 19:34:53.62ID:pWxix8Mt言いたいことがまじで分からん
ま、漠然と意見を言い合っていても何も得るものがないのは過去170スレを見直せば分かること
0247デフォルトの名無しさん
2016/06/15(水) 19:41:43.23ID:DCrbbIQF今のまま「設計」を続けていって構わないけど途中でその設計はオブジェクト指向じゃないとかそういう話に逸れていくと思うけどいいの
俺はこのままでもいいけど
0248デフォルトの名無しさん
2016/06/15(水) 19:55:33.11ID:pWxix8Mtオブジェクト指向のあるべき設計はこうだってことで争ってるなら実際の設計で比較すればいい
オブジェクト指向なんて使えないから他の手法を使うべきだって主張するならその手法を採用した場合の設計を提示すればその良さが実感できるかもしれない
どっちにしても有意義
0249デフォルトの名無しさん
2016/06/15(水) 20:08:34.40ID:JxLjXALv0250デフォルトの名無しさん
2016/06/15(水) 20:10:53.72ID:JxLjXALvオブジェクト指向を全否定する必要もない
前々から言っている
当たり前のこと
0251デフォルトの名無しさん
2016/06/15(水) 20:13:18.84ID:pWxix8Mtこういう批判だけのクズってほんと役に立たねえよなあ
どうせ設計できないもんだからそんなことしか書けないんだろ
お前みたいな無能をはじくのにちょうどいい
0252デフォルトの名無しさん
2016/06/15(水) 20:21:14.35ID:fBdcLY2F■ このスレッドは過去ログ倉庫に格納されています