オブジェクト指向システムの設計 172 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1uy ◆e6.oHu1j.o
垢版 |
2016/07/09(土) 00:35:13.95ID:Mn3UGZ+O
前スレ
オブジェクト指向システムの設計 171 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465636703/
2016/12/29(木) 02:36:25.34ID:RruPXahs
>>163
何を誤解してるかわからんが、それは、ビューモデル以外の場所で即座に否定されたり、是正されたり、これはは間違ってますよとエラーと判定されるから、
ビューモデルは、判定結果をおとなしく持って、ビューにレンダリングしてもらうだけじゃん。

お前がやってんのは、それはVMの仕事じゃない。
2016/12/29(木) 08:38:21.22ID:ZpKqxRRa
>>164
だからさ
その構造を実現することになんの意味があるのって話
2016/12/29(木) 10:19:02.48ID:BD9K+jOv
>>163
そういうのは大前提としてやった上での話だよ
整数入力コントロールには指定した桁数いないの数字しか入らない(アルファベットなどはキーを押しても入力されない)
その上でビューモデルにどこまでビジネスルールの知識を与えるか、ドメインモデルとの違いはなんだ、という議論をしている
2016/12/29(木) 10:37:25.80ID:vPLPY1D6
>>165
データを処理する処理に徹することができるのと
データを描画する処理に徹することができるんじゃん。
2016/12/29(木) 11:35:18.82ID:3hi3YdfK
>>167
現実にはできなくて、やるメリットもあまりなくてって状況だと思うけど
2016/12/29(木) 11:43:36.53ID:3hi3YdfK
>>166
だったら内部の仕様も画面にべったりなんでしょ?
今更分離して何がしたいの?
2016/12/29(木) 11:49:35.65ID:3hi3YdfK
はっきり言ってしまうと経験が浅いから掲げる理想が陳腐
大規模DBとそれを操作するインターフェイスを真似たモデルであれば
画面なんてプロジェクトごと作り捨て上等なんだよ
DBはもう誰も仕様変更を入れられない
画面は実現したい内容によって完全廃棄もありうる
これが現実なんだよ
2016/12/29(木) 12:03:50.76ID:orpg8/1p
>>169
VとMVの分離のメリットなら2つ大きいのがある
1. UIの状態数の最小化
2. 手続型から宣言型への移行
2016/12/29(木) 12:23:28.51ID:orpg8/1p
>>170
画面を使い捨てる前提ならますます分離した方がいい
ひと昔前はViewにビジネスロジックが当たり前のように書かれていた
こういう画面は本当に使い捨てていい画面なのか判断が難しい
画面を使い捨てる前にリファクタリングを行いビジネスロジックを抽出して分析しなければならなかった
必要なビジネスロジックは残して別の画面から利用するように変更しなければならない
この作業が全てうまくいけばようやっと画面を使い捨てる事が許される
2016/12/29(木) 13:00:59.69ID:3hi3YdfK
だからさ
現実にはできないじゃん
ちょっと突っ込まれるだけでボロボロ抜けが出てくんだから
2016/12/29(木) 13:23:47.48ID:orpg8/1p
>>173
最近はちゃんと分離されているシステムが増えてきてる
2016/12/29(木) 13:26:05.73ID:3hi3YdfK
>>174
誰の周辺の話なの?
2016/12/29(木) 13:36:40.64ID:orpg8/1p
>>175
世界的に
2016/12/29(木) 19:34:31.18ID:AIw2bcpm
>>168
割と大規模やってるけど、気合でWPFに移行してからそこそこうまく行ってるよ。
出来なくて切った会社は沢山あった。
2016/12/29(木) 22:28:45.06ID:ZpKqxRRa
>>177
そんな多大な犠牲を払ってようやくできたのか?(笑)
設計ってみんながわかりやすくするためにするもんじゃないの?
選ばれし者しかできない時点で失敗してるんだよ
わかる?
2016/12/29(木) 23:34:45.76ID:5yPVbf0y
>>178
莫大な犠牲は下請けが払ったんだと思うよ。
選ばれしものしかできないとは思わないが、
選ばれしものが出来ないのはある程度あるんじゃないの?
馬鹿とか。
2016/12/30(金) 01:32:03.00ID:JXfD++Nt
>>179
何のための画面と内部の分離だったの?
メリットが見えない
選ばれし者しか理解できないソースと組んだやつしか読めないソースの品質の違いが俺にはさっぱりわからないよ
2016/12/30(金) 08:31:43.34ID:fHdmB1av
>>180
前者は選ばれしもの(といってもWPF程度なら並みのプログラマで十分なので選ばれしもというのは大げさだが)なら超低コストで保守できる
後者は書いた本人も含めて保守に膨大なコストがかかる
このようにコストが全く違うわけだけど何故同じと思ったのか理解し難いね
メリットが見えないんじゃなくて見えないフリしてるだけだろきみは
2016/12/30(金) 09:27:05.84ID:0uD1Maua
インスタンスメソッドは選ばれしものにしか使えないから
全てスタティックメソッドにしなさい
ってことですか?
2016/12/30(金) 09:41:15.14ID:U2S2spdu
>visualstudioでプロパティいじれば解決する
あーダメダメ
2016/12/30(金) 09:55:02.42ID:G92pvYFd
できるヤツができないヤツに合わせる必要はない
退化する
2016/12/30(金) 10:07:30.36ID:0uD1Maua
スタティックお兄さん爆誕
古き良きプログラミングの時代、復活の刻
2016/12/30(金) 10:21:30.65ID:JXfD++Nt
>>181
え?でもいまの状態で画面と内部の分離ができてないじゃん
値のチェック前に一旦値を保存するんだよね?
内部に問い合わせないとチェックする内容がわからんから
偉そうなこと言ってるけどできたもんはゴミじゃん
2016/12/30(金) 11:02:39.37ID:fHdmB1av
>>186
保存ってどこから出てきたんだ?
2016/12/30(金) 11:28:27.74ID:zvHkIzW0
>>187
このスレよく読んでからレスしてね
2016/12/30(金) 12:14:51.41ID:tYlkXQKT
ViewModelからModelに入力値の通知を行うことを「保存」と呼ぶ頭のおかしい人が約1名いるだけ
190デフォルトの名無しさん
垢版 |
2016/12/30(金) 15:13:10.80ID:NIWDNqpS
なるほど
どうりで話が通じんわけだ
2016/12/30(金) 15:29:32.71ID:7Zd5OH2Q
>>180
画面直すのかデザイナさんにもできる、
ロジック直すのが画面に一切影響しない事を謳ってプログラマだけで出来る。
これ大規模だと結構大きいよ。デザイナさんに動いてもらうのそこそこかかるし。

>>186
一旦保存って何かわからん。VMの変数に持つよね、って事?
VMの変数に持とうがなんだろうが、入力値と使用値と出力値が同じ所(例えばテキストボックス)に表示されるのは、そもそもが事故の元だよ。
2016/12/30(金) 15:44:27.69ID:zvHkIzW0
>>191
はぁ?
なんのこと喋ってるの?
ちゃんと理解してからレスしてね
2016/12/30(金) 15:52:05.62ID:7Zd5OH2Q
>>192
>>177
で発端にすらなってるから、理解はしてるが。
アホなのかな。
2016/12/30(金) 21:13:04.65ID:0uD1Maua
なぜオブジェクト指向の設計の話になると喧嘩になってしまうのか?
やはり関数型にすべきでないのか?
2016/12/30(金) 22:35:50.28ID:VqDrYuY4
>>194
モナドを許すか許さないか論、原始再帰関数の定義の喧嘩になるのがオチ。
手続きとしてCPUが処理している所に別のパラダイム持ち込むとこうなるし、
関数としてGPUが処理している所に手続きを持ち込むと同じように異論は出てくる。
196デフォルトの名無しさん
垢版 |
2016/12/30(金) 22:36:08.50ID:KB0M7zpX
喧嘩がなくなるなら関数型喜んでつかうわ
2016/12/30(金) 22:54:38.14ID:G92pvYFd
工数の少ない方を採用するなぁ
何が何でもオブジェクト指向!ってのは手段が目的になっちゃってるように感じる
2016/12/30(金) 23:59:17.50ID:0uD1Maua
感情をイミュータブルにしましょう
2016/12/31(土) 07:44:43.00ID:XK+xRs9l
工数最小マンって無責任だと思うよ
保守は他人がやるからラピッドでええやんってクズばかりだから業界全体が停滞してるんだよ
多少工数が増えてもエレガントなOOPで作るべきだ
というかそもそも工数ベースで見てもOOPの方が優位だけどな
2016/12/31(土) 08:26:58.81ID:qTR6JDNw
工数最小≠OOP
って、どっから沸いてきた式だよ
コンパイル通らないぞハゲ
2016/12/31(土) 10:34:26.84ID:H2pBZ8ZG
>>199
ん?でもさぁ
汎用性つけまくった挙句に次の変更が来なかったら汎用化にかけた工数は無駄じゃない?
2016/12/31(土) 11:05:14.41ID:XK+xRs9l
>>201
汎用性と保守性を混同するのは初心者にはありがちだけど全く別のものだぞ
OOPはまず保守性を高めてくれるってのが主だ
結果として見ると汎用性もオマケで付いてくる場合が多いってだけだ
2016/12/31(土) 11:40:12.70ID:I0WFUQzY
>>202
そもそもOOPだと何で保守性上がるの?
2016/12/31(土) 12:13:13.06ID:3aGn9kAy
粗結合の徹底→モジュール化→単体テストしやすさ、古くなった部分の可換性
2016/12/31(土) 12:24:49.69ID:XK+xRs9l
>>203
SOLIDを実践しやすいから
モデルを忠実にコードに反映できるから
2016/12/31(土) 13:03:52.81ID:I0WFUQzY
>>204
OOPならではの部分を強調してほしかったが
疎結合とモジュール性についてまっさきに触れているので結果的に好感触

>>205
聞いて損した
2016/12/31(土) 13:15:07.39ID:XK+xRs9l
>>206
俺も答えて損した
馬の耳になんとかってヤツだね
2016/12/31(土) 13:18:39.21ID:I0WFUQzY
なんかごめんね…
2016/12/31(土) 14:00:22.29ID:XK+xRs9l
>>208
反省しろよ
2016/12/31(土) 15:09:26.22ID:2Xzfkrwi
>>209
おまえもな
2016/12/31(土) 16:41:13.08ID:n5yZbU99
>>210
消えろ
ぶっ飛ばされんうちにな
2016/12/31(土) 17:32:21.84ID:2Xzfkrwi
>>211
おまえもな
2016/12/31(土) 17:32:59.43ID:qTR6JDNw
>>211
あんまり調子こいてると手続き型にするぞ?
2016/12/31(土) 17:37:54.48ID:I0WFUQzY
もういいから
2016/12/31(土) 17:40:02.54ID:YOFqYiBF
工数気にするのって完全受注型で自分とこで商品開発できないようなところだろうなと思うわ
2017/01/01(日) 00:00:05.99ID:7qccLNYe
採算度外視で開発とかないわ
217デフォルトの名無しさん
垢版 |
2017/01/06(金) 17:03:12.17ID:rigfFBS6
オブジェクト指向の良書教えて
2017/01/06(金) 17:25:52.39ID:A0+jLhsU
>>217
http://echo.2ch.net/test/read.cgi/tech/1467992113/
2017/01/06(金) 20:45:05.38ID:8EHemPmg
ループかよ
2017/01/07(土) 11:22:42.01ID:IG42UiTG
>>204
手続き型でもできる。
というよりオブジェクトみたいに状態に注目するより
メッセージやメソッド、関数に注目するほうが自然な場合もある。
まあオブジェクト脳だとそういった処理をまとめたクラスを作るんだろうけど。
2017/01/07(土) 12:04:44.28ID:kXk28A5p
>>220
具体例は?
2017/01/07(土) 13:39:47.70ID:u/YaKAHu
 サ ー ビ ス ク ラ ス
2017/01/07(土) 21:45:21.54ID:6fDgBl5y
>>220
> 手続き型でもできる

それはとても興味深い指摘です。後学のため、
これぞ手続き型の(つまり「そこまでやったらもはやOOP」とは言わせない、そういった小細工のない)
コードで実演してみてもらうことはできますか?
2017/01/07(土) 23:48:37.74ID:8zzGw/ml
そもそもオブジェクト指向にメリットなんかないのにやり方がわからないとかさっさと廃業しろ
2017/01/08(日) 00:04:42.83ID:MJfiP+Ss
デストラクタは OOP でないと難しいね
え?ポインタの存在自体が邪道ですか?そうかもしれないですかね‥
2017/01/08(日) 01:57:35.09ID:91a1aYUK
デストラクタってOOP以前からあるしOOPと直結する関係性もない
それになぜいきなりポインタ?もはや何が言いたいのか判らない
2017/01/08(日) 08:49:06.62ID:FbXxDY90
そう難しく考える必要はなく物事をシンプルに考えていくと自然とOOPにたどり着くんだけどね
OOPに拒否感を持つ人はその当たり前の感覚を持っていないアスペなんじゃないかな
子供の頃いじめられたりしなかったか?

機械的な命令並べてgotoするより意味的な命令並べてifとかloopとか使ったほうが簡単だな
同じ処理をなんども書くより関数にしたほうが簡単だな
引数が多くて煩わしいから一緒に使う変数をまとめて構造体にしたほうが簡単だな
この構造体は特定の関数以外から変更されたらそれらの実行の前提条件が崩れるからそれら以外からメンバに触れないようにアクセス制御したほうが間違えなくていいな
それらの関数を構造体と同じ箇所で定義すれば管理しやすいな
メンバ変数みたいにドット演算子でそれらの関数にアクセスできれば楽だな
………

こういう感覚は別にOOPを知らなくてもコーディングを簡単に安全にしたいという欲求があれば自然とたどり着くものなんだけど
感覚がおかしいのかガチで気が付かなかったのか
たどり着けないかわいそうな子も世の中には少なからずいるんだね
2017/01/08(日) 08:58:29.82ID:FbXxDY90
なんていうかね
棍棒だと重いし動物殺しにくいけど木の棒の先っぽに鋭い石括りつけたら軽くてめっちゃ殺せるんだけどウホホwww
正直この程度の発想でしかないんだよ
OOPってそんなに高尚で難しいものじゃない
それをわざわざ難しい概念だと錯覚して悩むのは時間の無駄じゃないか?
OOPとはなにかOOPの存在意義はなんて哲学者みたいなことを考えてないでさ
自分の感覚に従ってOOPってよくわからんけど手続き型より楽だわウホホwwwって気楽にコーディングすればいいんだよ
2017/01/08(日) 09:38:52.74ID:oIuk3BCz
なんで人格攻撃に移るの?
自分の中で辻褄が合ってないから反論できないのに他人を叩くことでそれを解消しようとするのは間違ってる
お前は技術者を廃業しろ
2017/01/08(日) 09:50:56.48ID:TXqGgIea
ワイ「関数型最強ウホホwww」
2017/01/08(日) 10:35:35.87ID:uhuLxfGv
> 物事をシンプルに考えていくと自然とOOPにたどり着く

逆だろうね
物事を自分のおつむの程度にしかとらえられない人間がようやくたどり着いたのが>>227が書てるOOPもどき
この程度の理解の人間がOOPを真に理解してそのメリットを引き出せているとはとうてい思えない
2017/01/08(日) 10:35:39.50ID:jdkn79Su
>>229
残念ながらこれもOOPがらみでよく見られる光景
追い詰められてならまだしもわりと最初のほうからこれだもんね
さらにそれにしたってそれすらを長文でぐだぐだと…推して知るべし
2017/01/08(日) 11:28:11.39ID:TXqGgIea
2chの長文すら読めないオジサンって、普段技術書読まないんですかあ?
2017/01/08(日) 11:45:15.83ID:kab+ZCih
技術書ってクソばかりじゃないですか
2017/01/08(日) 12:53:03.81ID:MJfiP+Ss
>>226
デストラクタはOOPと同時ですよ
2017/01/08(日) 13:04:04.65ID:TNnQVUnB
protectedっていつ使うんですかぁ?中途半端じゃないですかぁ?
2017/01/08(日) 13:07:40.60ID:TXqGgIea
継承やUTで簡単に使えるようにするため
privateは全てprotectedにしろと言われたことあったわ
2017/01/08(日) 13:23:09.13ID:kab+ZCih
継承っていう仕組みがクソ。疎結合とはなんだったのかって気分にしてくれる。
2017/01/08(日) 13:34:11.82ID:kab+ZCih
OOPのメリットとして吹聴される要素の8割はクソ。
カプセル化はクソ(めんどくさい)
継承はクソ(親子のねっとりしたつながりがキモイ)
多態は野ぐそ(多態のための汎化、インタフェース抽出とか勘違いも甚だしい。保守性に逆行している)
俺OOP使ってこんな曲芸できます案件多すぎクソ。
2017/01/08(日) 13:38:11.45ID:tl4nBuMM
葡萄に手が届かない狐さんのたわごと
2017/01/08(日) 14:08:24.06ID:TXqGgIea
>>239
車輪的再発明すきそう
2017/01/08(日) 14:08:45.35ID:XDbKIsfA
OOPみたいな簡単な仕組みも理解できない人って可哀想
もっと体動かすだけとか根性あればなんとかなる仕事に転職しないの?
2017/01/08(日) 14:17:09.32ID:+qBxgbmJ
OOPは本当に簡単で短絡的な思考のすえたどり着く結論だからね
オブジェクトに操作が内包されているというのは
まるで利権主義で、縦割り行政で、日本的といえる
自分の仕事しかしないし、利権はぜった他人に渡さない
利権という物質的なオブジェクトにすべてが紐づいていて整理されている

まぁ実用面では便利な部分もあるんだが
外でOOPサイコーとかいうと人格を疑われかねない
本音と建て前でこっそり使うものだ
2017/01/08(日) 15:26:35.22ID:TXqGgIea
OOPを無くした人類はどこへ向かうのか
245236
垢版 |
2017/01/08(日) 15:47:12.81ID:TNnQVUnB
オブジェクト指向を用いるメリット
「ラクして、楽しく、良いもの」を作れる

スッキリJavaより抜粋
2017/01/08(日) 16:12:47.12ID:TXqGgIea
「ラクして、楽しく、良いもの」を作れる
オブジェクト指向登場後のソフトウェア業界は
さぞかし良い世界になったんだろなあ
2017/01/08(日) 16:19:04.51ID:kab+ZCih
とてつもなく良い世界にはなってる。
2017/01/08(日) 16:46:50.39ID:XDbKIsfA
簡単になりすぎて捌ける規模が大きくなったから
逆に要求が膨れ上がって結局辛い世になってる気もするが
まあCOBOLとかやらされるよかマシかな
2017/01/08(日) 16:51:03.49ID:hENayCqC
オブジェクト志向言語使っててもアホが考えた社内規約とやらとヘボいフレームワークで全く楽にならねえw
2017/01/08(日) 17:26:00.28ID:XDbKIsfA
>>249
あーわかる
なぜか規約もフレームワークも手続型っぽいんだよな
2017/01/08(日) 19:34:42.91ID:oIuk3BCz
オブジェクト指向の利点って明確にならないね
2017/01/08(日) 21:51:12.89ID:tl4nBuMM
そういやこのスレって、どんな話題で始まったんだっけ?
「オブジェクト指向の利点を明確にする」
だったっけ?
2017/01/08(日) 22:30:47.12ID:oIuk3BCz
>>252
まずメリットが明確にならないとやる意味もわからなくてさ
2017/01/08(日) 23:00:17.73ID:iT+T8lZs
>>251
俺も最近正直そう思うようになった

最初の頃:おぶじぇくとしこう?
途中:OOP!ポリモ!デザパタ本!OOSC本!
その後:関数型?関数と変数だったら変数散らかるんじゃないんけ!
そののち:意外と関数型記述性ある!不思議と短く書けるなんやこれ!
しばらくして:いや?非OOPでも意外と書けた!
 OOP-OOPLというより大事なんは単にモジュール性や!直交性や!
 徹底してインタフェースと実装のシンプルさを保つことや!
今:そんでOOPのメリットって何なんやろな?
2017/01/08(日) 23:23:47.58ID:XDbKIsfA
そういう本質的に重要な事を記述しやすいってところだろ?
2017/01/08(日) 23:34:45.33ID:oIuk3BCz
>>255
え?
全然意味わかんない
2017/01/08(日) 23:40:45.17ID:XDbKIsfA
>>256
そのうちわかるよ
2017/01/08(日) 23:49:40.92ID:Y13a86EN
でたw
「そのうち」としか答えない相手から聞き出せることはもう無い
2017/01/08(日) 23:58:45.01ID:GQKjgtEl
>>254
要するに編集方針の違いでしかないんだよ。
出来るやつが書けばどれでもどうとでもなる。
それだけ。
それよりOAOO/DRY/メトリックス(トポロジー)の方が重要。
2017/01/09(月) 00:35:10.65ID:XasE0eMK
ソースのどこに記述するか?って方式の話でしかないよね
ボタン1を押したときの処理Aはオブジェクト指向で記述しようがそれ以外で記述しようが
ソースのどこかに記述しなければならない
オブジェクト指向ってのはつまるところその様式美



別にどこだっていいじゃん( ´∀`)b
2017/01/09(月) 01:00:59.79ID:Dm7q6S9e
そしてウンポコPのペチプァみたいなゴミ屑コードができあがる
2017/01/09(月) 07:16:32.07ID:MB0kUoDj
そのボタン1は、UIコントロールの基底クラスを継承するというOOPで作られてるとは思うけど
まぁだからといって使う側がOOPに従わなきゃならん、ということにはならないな

ボタン1を使いながら「OOPなんて不要!」と言ってるとしたらアホだとは思うが
2017/01/09(月) 07:18:15.57ID:XasE0eMK
>>262
話の主旨もわからず回答とかおめでてーな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況