オブジェクト指向プログラミング出来て、設計も出来る人来て。言語はなんでもいい。

言語
スポンサーリンク
1: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:12:32.671 ID:k1MlNfXGM
クラスの分け方がよくわからんのだが、どうやって判断しとるんや?

引用元: ・オブジェクト指向プログラミング出来て、設計も出来る人来て。言語はなんでもいい。

25: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:31:14.104 ID:k1MlNfXGM
>>24
まぁそうなんやが…>>1を読んでくれ

最新の説明を求めてるんじゃないんだ。
お前らが今までしてきた方法や考え方を教えて欲しいだけなんや…

35: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:41:41.356 ID:IdlIbxeh0
>>25
とりあえずC#で何かGUIアプリを作ってみればいい

んで何か共通の動作をするようなものを部品化してみて似たような部品があったら
そこを更に共通のベースクラスにして継承するとか

んでなれないうちはフィールドはすべてprotected
メソッドはクラス外から呼び出されるもの以外はprotected

なれてきたらこれはprivateにすべきかな?って気付く時が来るから
それまでは非公開メンバーはひたすらprotectedで書け

なんだかんだ最近色んな言語触ったがこういう学習する場合C#使うのが一番いいと思う

2: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:13:54.099 ID:gqIXyocf0
この世の中にオブジェクト指向プログラミングなんでできる人間はいない
わかったらデザパタの本でも読んでろ

5: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:14:42.517 ID:k1MlNfXGM
>>2
オススメおしえれ。デザパタの本とか売ってなくね?

150: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:56:14.453 ID:k1MlNfXGM
>>144
ありがとう。調べてみる

10: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:17:58.729 ID:piyhhXPgd
学校のクラスで例えると分かりやすかった

14: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:21:17.047 ID:k1MlNfXGM
>>12
いや、その感覚的なのやめようや

ある程度指標はあるはずやろ…

60: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:53:14.991 ID:k1MlNfXGM
>>54
そんなんで金もろとんのか!

15: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:22:07.962 ID:zgFOvYUC0
GoFのデザパタって結構いい加減でまとまりがない
古いから仕方ないけど

77: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:58:47.227 ID:k1MlNfXGM
>>75
まじかよ。何志向なんや?

20: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:26:47.676 ID:E45B/Vms0

22: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:28:26.266 ID:k1MlNfXGM
>>20
サンキューやで

23: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:28:49.425 ID:k1MlNfXGM
>>21
新刊デザパタっねなんや?雑誌があるんか?

28: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:33:35.014 ID:k1MlNfXGM
>>26
そういうことやな!
それはわかったから今までどうやって来たのか教えてくれや…

24: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:29:45.912
将棋に新戦法の本でたら買って読まないとそれ使ってきた奴に勝てなくなるだろ
将棋でさえそうなんだからプログラミングなんてもっと絶えず新技法仕入れ続けるに決まってんだろ

32: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:35:56.255 ID:85hbaW/L0
クラスをニューすればインスタンスが出来上がる
ただそれが

現実にあるものをインスタンスで実現する ← オブジェクト
架空のモノをインスタンスで表現する ← オブジェクトではない

ってだけだ
ところがこの理念をどんなに鍛えた人でも忘れちゃう

36: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:42:29.921 ID:85hbaW/L0
>>33
それ受付だろ
顔や名前をチェックして中に入れる
名簿に中に入った人を書く
中に客が入ったと社内に連絡する
社長や管理者が入ったらどうなる?
これを想像しろ

41: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:44:47.673 ID:k1MlNfXGM
>>36
どうもならんやろ…

46: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:47:43.284 ID:k1MlNfXGM
>>43
受付いうたやんけ!誰が受付来ても対応は変わらんぞ

59: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:53:01.159 ID:k1MlNfXGM
>>53
Aさんって人がつこうてたら、お前はAさんやなっ!ってわかるやつやろ?

64: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:54:02.412 ID:85hbaW/L0
>>59
区別出来たら
管理者は入れる部屋も違うし権限も違うだろ

42: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:45:20.629 ID:k1MlNfXGM
>>37
本読んだけどイマイチわかってないで

38: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:43:27.036 ID:E45B/Vms0
物理的に存在するかなんて関係ない

47: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:48:07.586 ID:E45B/Vms0
>>45
class 車{
走る();
止まる();
}

51: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:48:57.746 ID:k1MlNfXGM
>>47
なるほど!ちょっとわかったやで!

44: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:45:55.943 ID:zJu8ahHza
アスペクト指向だよ

49: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:48:21.007 ID:IdlIbxeh0
正直変に車だの人だのをクラスにしてどうこうするよりも
GUIでフォームとかボタンとかテキストボックスの継承クラスを作ってみて挙動を変えるっていうのをやった方が有意義な経験値になる

50: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:48:36.500 ID:AoQe8LmkF
Sandi Metzの「オブジェクト指向設計実践ガイド」を読め

56: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:51:27.252 ID:bzTaP1I+0
オブジェクトとかクラスとかって殻は意外と堅い
後で割る必要が無いのが一番だけど現実は甘くない
だからって割られる前提で細かくしたりもわかりづらい
この辺りを意識しつつやって覚えるしかない

73: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:57:13.445 ID:bzTaP1I+0
>>65
あーなんでこんなにデカくしたよ外に出せたこれとか
概念的に細かすぎて現実には似てるけどメンテ死ぬわとか
まあ色々経験するよねっていう

58: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:52:20.805 ID:5AEQQm2D0
これ次に別のもん作るときに使えるやん
って感じで塊にするのがオブジェクト指向

そのでっかいやつがAPI

62: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:53:40.177
抽象的なまま考える力をつけて
物事は抽象的に考えて最後に具象化する
車、より、乗り物
辛子、より、スパイス。スパイスより調味料

63: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:53:44.443 ID:IdlIbxeh0
例えばボタンクラスの継承クラスを作ったとして
そのクラスのイニシャライズ時に処理追加してボタンに表示される文字をデフォルトでは赤になるようにしてみようとか
そういう地味なのでもオブジェクトを理解するのにはとてもいい

68: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:55:58.175 ID:k1MlNfXGM
>>63
これもオブジェクトなんか?

72: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:57:03.167 ID:6enla/460
>>68
それもまたオブジェクトだね

69: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:56:13.289 ID:PIVc1wygM
奇妙な言葉遣いで何言ってるかわからん

78: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:59:07.911 ID:5QG1l1xS0
作った後に編集を繰り返したらわかるよ
ここ分けとけば楽だったって

79: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 21:59:58.627 ID:k1MlNfXGM
>>78
そういうもんか…(´・ω・`)

102: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:12:24.535 ID:5QG1l1xS0
>>93
その役割分担の最小単位が経験が足りない人は判断できないし
クラス分けのメリットがわからないから、手間かける価値があるのかも判断できない

96: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:08:19.889 ID:pRZm2nQM0
>>88
やめろよ、照れるじゃないか///

129: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:46:14.975 ID:vCQWTYt50
>>122
お、おう
IT未経験か?
資質はあると思うから頑張れ

133: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:48:05.683 ID:k1MlNfXGM
>>129
元インフラ屋さんやで。インフラも言うほど出来んがな

95: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:08:18.761
解んないって言ってる奴は大抵圧倒的にこなす数が足りてない
将棋で定跡本読んで、それでいきなり有段者に勝てると思ってんのか
定跡通りいかなくて本を投げつけて、指しまくって、ある日久し振りに床に落ちてる本拾って読み直してみたら、ああそういう意味で突き捨てんのかとかようやく解るんだよ

97: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:09:04.732 ID:k1MlNfXGM
お前ら頭ええなあ

とりあえずプログラム書きまくるわ

あともう一つ教えてや。
設計する時はUMLっての使ったらわかりやすいんか?
UMLの本読んだけど、あんなんかける気せんし、めっちゃ量あるんやが…

104: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:14:19.842 ID:vCQWTYt50
>>97
とりあえずプログラム書けというのも違うぞ
今あるなかでベストと思える設計をして作れ
それでもやってるうちに問題に気付く
そこで本を読む
どんぴしゃで書いてあることもあればうっすらとしか関係しない指針しか見つからないこともあるけどとにかく改良する
その繰り返し
正しいものを作ろうという気持ちなく、ただコード買いても意味ない

UMLは設計を記述する表記法
ちゃんと設計するんだから表記法もちゃんとしたものを使うべきなのは当然
実際に設計しながら使えば使い道も分かる

109: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:21:32.725 ID:IdlIbxeh0
>>108
それ言ったらC言語でも関数ポインタ使ってstructをクラス風に使うテクニックあるけど
他人(未来の自分含む)から見た時の可読性に著しい問題があるから推奨されない

110: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:23:40.922 ID:bdZqiKcV0
>>109
デフォルトがpublicなだけのただのclassと仕様書で厳格に決められてるのに可読性もクソもあるか

119: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:36:11.307 ID:IJgpbHvh0
>>115
まあ本格的に設計するんであれば色々入れ込む必要はあるわな(設計できるとは言ってない)

112: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:25:08.446 ID:vCQWTYt50
Javaの標準ライブラリの作りをじっくり見てみるのも1つの勉強法
ソートとかリストとかがどうなってるか調べてみろ

ソートだったら順番に並んでいるリストを操作するクラスと
順番を実装するクラスがある
どんな順番にしたいかはいろいろあるけど、順番に並んでいるものを操作するのは次元が違う
抽象的な操作と具体的な実装というレベルの違いを意識するのは設計の基本

118: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:33:49.381 ID:thtw+84Sd
これぞ日本のIT業界だ!

128: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:45:58.726 ID:IJgpbHvh0
良くないぞ毎日読んでれば自然と読めるようになるぞ

131: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:47:26.165 ID:k1MlNfXGM
>>128
読める資料もないしなあ

自分で書きながらやるかなあ

138: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:50:35.607 ID:IJgpbHvh0
>>131
求める雇用像がどんな感じかは分からんけど企業に入れば飽きるほど読むハメになるぞ
フリーや派遣でガツガツやりたいって人は分からん

149: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:55:59.707 ID:k1MlNfXGM
>>143
さすがにそれよりはハイクオリティにするわ

152: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:56:51.797 ID:vCQWTYt50
>>140
データベース、Webサーバとか知ってんの?
知らないとこからスタートなら3年は必要だな

158: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:58:28.823 ID:k1MlNfXGM
>>152
元インフラやさんやからその辺りは使えるぞい
出来れば一年以内にアプリ作って公開したい

166: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:02:42.591 ID:vCQWTYt50
>>158
使えるのレベルがかなりあやしいがそれなりに分かってるなら
1年あればそれなりのものはできるかもなあ

187: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:08:26.545 ID:k1MlNfXGM
>>180
インフラはもういいかな…インフラからデザインまで出来る人になりたい

182: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:07:22.963 ID:vCQWTYt50
>>173
そこはお前の能力次第だな

188: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:08:48.007 ID:k1MlNfXGM
>>182
まぁがんばるわ

134: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:48:21.180 ID:k1MlNfXGM
>>132
別もんやぞ

136: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:49:45.898 ID:k1MlNfXGM
ちな、UMLって作る順番ってどうなっとるんや

ユースケース図から作るんかなあと思ったけど、どこにも具体的な順番書かれてないねん

161: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:00:25.541 ID:vCQWTYt50
>>153
ERからクラス設計してる気がするんだが
少なくても俺はそうしてる

169: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:03:35.560 ID:k1MlNfXGM
>>161
まじか。まぁ項目があるからそうか…

んー、難しい

142: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:53:30.783 ID:thtw+84Sd
でも現実は上司も顧客もUMLなんて理解できないんだよなあ
要求仕様なんてころころ変わるし
何のために書いてるのか疑い始める
小規模案件なら直にコーディング始めて後で自動生成した方が早い

151: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:56:44.905 ID:BYmST2MK0
>>147
予算管理とか大変そうだなーって思った

あれて期間区切ってそれぞれに予算割り当ててるからな

155: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 22:58:14.972 ID:ynStTmN3a
>>147
仕様書なんて出来上がった後にかきゃいいんだよ

197: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:12:25.177 ID:vCQWTYt50
>>190
客が作ったパワポの謎図じゃ曖昧だから
UMLで書き直して確認するんだろ
設計と言うものをまったく分かってない

181: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:07:00.749 ID:k1MlNfXGM
>>175
客用の説明資料を別で作ってると思ってた

185: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:08:07.590 ID:vCQWTYt50
>>181
別で作るとしてその記述方法は?

195: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:10:59.606 ID:vCQWTYt50
>>191
だから、他の記述方法なんてないからUML使う
別に図を描くのはめんどくさいし

213: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:20:11.175 ID:vCQWTYt50
>>202
全部は書かないな

設計書は書かされているみたいな思ってるアホがいるがどうしようもない勘違い
客に対して書くのは、要件をきちんと理解すること、
後から変更や追加があった場合に設計書で合意した内容と違うんだから時間・費用がかかると言うため
自分を守るためなんだから気になる部分はすべてドキュメントにしろ

実装チームに対しては
実装に必要な情報は書いてやらなきゃならない
ここは自分で実装したことあればどんな情報が必要か分かるんだから
その情報はちゃんと書こうね

171: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:04:09.666 ID:k1MlNfXGM
>>164
社畜としては優秀じゃないか

172: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:04:34.962 ID:BYmST2MK0
>>171
世の中には納期があるんだよ

198: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:12:41.155 ID:BYmST2MK0
>>189
まぁ会社に労災裁判起こされそうな恐怖植え付けながら出社拒否したからな・・…

200: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:13:38.063 ID:MAdEe22ka
>>198
会社が労災裁判を起こすみたいに読めるぞw

205: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:15:41.248 ID:BYmST2MK0
>>200
読み返したら本当だワロタw
カーチャンと会話しながらデレステやりつつ耳をすませば流し見してたらそりゃこうなるわ

167: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:02:49.110 ID:BYmST2MK0
同人誌かいてて思ったけど〆切って重要だわ

207: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:16:29.675 ID:BYmST2MK0
>>兵器でdocコメントすらない

docコメントがなくて兵器的なコードっていうニュアンスでうけとったけどだいたいあってるな

208: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:17:27.909 ID:BYmST2MK0
まぁ実務でオブジェクト指向っぽい設計をしたことはないな
とりあえず結城なんとかさんのデザインパターン読めばつかめるかもね
設計は夢が壊れることばかりだからね……

210: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:17:44.612 ID:BYmST2MK0
設計というより実務か

218: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:23:50.310 ID:MAdEe22ka
>>212
ステートマシンなんて初めて聞いた…!
叩かれても仕方ないかもだけどIllegalStateException吐くようなコード書いたことないや

232: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:30:28.775 ID:vCQWTYt50
>>212
パッケージ図 ・クラス図・アクティビティ図は必須
ユースケース図も描くかなあ
オブジェクト図・コミュニケーション図・シーケンス図は複雑になってれば描く

あとは必要があれば

244: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:36:59.625 ID:k1MlNfXGM
>>242
なるほど。参考にする!

216: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:21:34.658 ID:BYmST2MK0
>>215
3行目
8割以上理解して読めるやついるプロジェクトなんてあるの? でたのむ

220: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:25:19.746 ID:BYmST2MK0
>>219
これ

222: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:26:29.774 ID:puiRmqpX0
先輩に聞け
ペアプログラミングしながら

227: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:29:07.815 ID:puiRmqpX0
>>224
ここで聞くより勉強会に出る方がいいと思うぞ
なんやかんやで実際に人と会って話すのが一番勉強になる

230: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:30:17.009 ID:puiRmqpX0
クラス図
ステートマシン図
シーケンス図
アクティビティ図
ユースケース図
あたりはよく使う気がする

235: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:32:02.371 ID:IJgpbHvh0
そういえばお前らさんフリーのUML作図ツール知ってたりしない?
astahが死んでしまったから今後どうしようかと

241: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:35:13.612 ID:MAdEe22ka
>>239
あすたー、最後の商用利用可能バージョンでずっと使ってるわ…
これ大丈夫なのかな

247: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:39:33.605 ID:IJgpbHvh0
>>239
サンクス!ちょっと見てみる

>>241
いいなぁ
PC買い換えた矢先にastahタソのcommunity版配信終了してて泣きそうになった

245: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:37:59.200 ID:k1MlNfXGM
お前ら的に>>235はどうなんや?

246: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:39:08.366 ID:vCQWTYt50
>>245
astahの商用版買えよ

253: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:43:22.832 ID:vCQWTYt50
>>251
機能には十分見合う値段だよな
あれこれ探して使いにくいものをいじくりまわすくらいなら買ったほうが効率的

261: 以下、5ちゃんねるからVIPがお送りします 2019/01/12(土) 00:03:32.077 ID:+GKxgaUGM
>>248
明後日から本気出す!

252: 以下、5ちゃんねるからVIPがお送りします 2019/01/11(金) 23:42:44.059 ID:thtw+84Sd
PlantUMLはどうなの
やっぱGUIツールでグリグリできなきゃダメなの?

264: 以下、5ちゃんねるからVIPがお送りします 2019/01/12(土) 00:04:41.259 ID:+GKxgaUGM
嫁に皿洗えと言われたので洗ってくる…

お前ら雑談してて…

言語
スポンサーリンク
りょうたろうをフォローする
スポンサーリンク
プログラミングまとめ速報ちゃんねる

コメント

タイトルとURLをコピーしました