オブジェクト指向ってクソじゃね?

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/08/24(金) 13:32:09.36ID:ifygL6bT
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。

偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。

一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。

オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。

https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
53デフォルトの名無しさん
垢版 |
2018/08/24(金) 13:55:36.07ID:JNQXY3hm
>>632-637
ハロワ!
54デフォルトの名無しさん
垢版 |
2018/08/24(金) 13:55:36.71ID:JNQXY3hm
>>632-637
ハロワ!
2018/08/24(金) 14:27:45.99ID:0hzqlpOd
>>1
ケイちゃんの言うレシーバオブジェクトは
ネットワーク越しにアクセスできるコンピュータだから
プライベートのキーワードはなくても
必然的にプライベートになるんじゃないかな
2018/08/25(土) 00:54:02.71ID:6mB8j9/9
オブジェクト指向は、ウンコのようにニガい
2018/08/25(土) 13:13:07.84ID:00w/RGH3
砂糖(シンタックスシュガー)を加えて関数型言語っぽくしているが、臭いまではごまかせない
2018/08/25(土) 13:25:46.59ID:bFeNHPVf
オブジェクト指向が無くなった場合
メソッドは全部グローバル関数になるの?

PersonRename(Person p,string newName);
PersonSetAge(Person p,int age);
PersonGetAge();

FirePersonCreate(Person p);

FirePersonRename(Person p,string newName);
FirePersonSetAge(Person p,int age);
FirePersonGetAge();
2018/08/25(土) 13:27:10.91ID:bFeNHPVf
訂正

PersonRename(Person p,string newName);
PersonSetAge(Person p,int age);
PersonGetAge();

FirePersonCreate(Person p);

FirePersonRename(FirePerson p,string newName);
FirePersonSetAge(FirePerson p,int age);
FirePersonGetAge();
2018/08/27(月) 19:47:07.71ID:y3uHC3Z/
クソはオブジェクトやぞ
2018/08/31(金) 19:34:28.84ID:lHXkvQer
文系がこねくり回して、結果的に無駄にコード量増やすようなイメージしかない。
62デフォルトの名無しさん
垢版 |
2018/09/05(水) 05:14:03.10ID:UEpkpswy
>>1
オブジェクト指向で組めない君らがクソ
2018/09/05(水) 05:21:15.30ID:w7O3HrXU
スタティックおじさんの皆さん
2018/09/05(水) 09:21:08.12ID:BLSFUWnl
カプセル化が原因で開発ができなくなるとするならオブジェクトの分け方が不適切なのだろ、開発が進むに連れてオブジェクトの役割が変遷したのだろ、設計やり直せないなら地獄だな
2018/09/05(水) 09:22:22.65ID:BLSFUWnl
設計のないスタティックおじさん方式は柔軟かもわからんね↓
2018/09/05(水) 15:30:35.02ID:UEpkpswy
>>61
正しく組めば重複が減ってコード量は減る

>>64
普通はカプセル化しないことで
開発できなくなることの方が多い
グローバル変数を使うとか
67デフォルトの名無しさん
垢版 |
2018/09/05(水) 23:23:20.11ID:BuNkH2Jq
オブジェクト指向で描くロバストネス図なんてのは
構造化プログラミングの前のフローチャートそのものじゃないか
オブジェクト指向は現代のGOTO文なんだろ?
2018/09/06(木) 01:28:19.10ID:uUC4mFDs
>>67
https://thinkit.co.jp/article/13487

> ロバストネス図を書くにあたっては、以下のルールを遵守する必要があります。
>
> ・アクターはバウンダリのみ関連線(矢印)が引ける
> ・バウンダリはコントロールとアクターのみ関連線が引ける
> ・エンティティはコントロールのみ関連線が引ける
> ・コントロールはコントロール同士とバウンダリのみ関連線が引ける

残念ながらフロー(流れ)を示す線は書けないので
フローチャートにはならない。特に条件分岐やループなどがない
2018/09/06(木) 03:27:30.57ID:OdtAawkS
>>67
どちらかというとロバストネス図は
ユースケース図の方が近くて
フローチャートと同じってのはおかしい
70デフォルトの名無しさん
垢版 |
2018/09/06(木) 07:33:26.04ID:ndioKak8
本には書いてないオブジェクト指向
https://www.arksystems.co.jp/closeupit/object_oriented/

こいつを見てくれ、こいつをどう思う?
71デフォルトの名無しさん
垢版 |
2018/09/06(木) 07:42:10.81ID:ndioKak8
/** リストの要素をゼロで置き換える **/
private void clearList() {
 for (Integer el : someList) {
  el = new Integer(0);
 }
}

なかなかファンキーなロケンロールだぜ
2018/09/06(木) 08:26:13.84ID:abjuqq+M
>>68
条件分岐はあるで
ループもあるで
GOTOだからわかりにくいけど
線はフローを表すんやで
ロバストネスエアプか?
2018/09/06(木) 08:28:15.97ID:abjuqq+M
>>69
ユースケース図はユースケースを並べたものですよね
ロバストネスはユースケースごとに処理フローを
書くわけでフローチャートそのものですよ
2018/09/06(木) 08:31:32.42ID:abjuqq+M
構造化プログラムでゴトーが滅亡したようにオブジェクト指向にも構造化のブレイクスルーが生まれていい頃合いだと思うの
75デフォルトの名無しさん
垢版 |
2018/09/06(木) 12:51:58.13ID:ntAiYVJq
オブジェクト指向って簡単な処理先に書いて難しい処理は後回しにする考え方でしょ
2018/09/06(木) 13:33:23.77ID:uUC4mFDs
>>75
違うけど、意味がわからないから例をあげてみて
「簡単な処理」とは何かライブラリを使えば難しい処理は簡単な処理とみなせるのか?
2018/09/06(木) 13:46:11.74ID:abjuqq+M
インターフェースを切って実装を分離することを言ってるんじゃないか?
2018/09/06(木) 13:50:58.27ID:BY1c9tpo
そもそも、継承関係で隠蔽しちゃい合うのが問題なだけで、
インスタンス握り合うだけの仲なら、相手の陰部まで見に行く必要性なんて無いだろ。
2018/09/06(木) 23:36:20.94ID:OdtAawkS
>>70
そのサイトには賛成できる部分と反対の部分がある

「クラスとはデータ構造」で
「責務はクラスではない」というのには大反対

クラスは責務そのものという方が
オブジェクト指向の主流の教え方
2018/09/06(木) 23:37:17.79ID:OdtAawkS
>>75
当たってる部分がなくもないけど
たんに関数に分割するんじゃなくて
抽象化するのがオブジェクト指向
2018/09/07(金) 08:35:51.18ID:avaKv6NM
>>79
ゴトーが主流の時代もあったわけで
主流じゃないからという理由で反対するのは
いけないことだと思います!
2018/09/07(金) 08:40:25.09ID:avaKv6NM
責務ごとにクラスを作るのがどうして主流だよね?ってことですよ
2018/09/07(金) 09:19:04.85ID:avaKv6NM
責務ごとに分離したら凝集度が低下します
2018/09/07(金) 19:25:29.09ID:ZCXZkOYn
>>81
それもそうか

>>82
変更コストが下がるから

>>83
いやむしろ凝集度は上がるよ?

凝集度を上げるっていうのは
でかいクラスを作ることじゃないよ?
2018/09/07(金) 19:40:40.77ID:Nc+ifFiB
ボトムアップで設計したら結局最上位クラスが神クラス化しちゃうのは、アプリ層の設計が甘いんかな?
どうもUI部の設計は苦手だ。
2018/09/07(金) 20:33:13.60ID:avaKv6NM
>>84
データに関わる処理を一箇所に集められますよ
凝集度は高くなります
2018/09/07(金) 20:36:30.67ID:avaKv6NM
ドメインオブジェクトがドメインとしての振る舞いを持つのですから肥大化とは言いません、データと関わりのない振る舞いを持つわけではないんです
2018/09/07(金) 20:48:57.91ID:ZCXZkOYn
>>85
肥大化するのが設計が甘いと言われればその通りでしょ
ただ最初から一発で分からないことも多いので
リファクタリングするのも大事だと思う
2018/09/07(金) 20:49:13.32ID:ZCXZkOYn
>>86
>データに関わる処理を一箇所に
複数のデータの処理を一箇所でやるという意味なら
凝集度は下がる

>>87
ドメインオブジェクトの数が増えていくのは普通だが
1オブジェクトの行数が増えていくのは肥大化
2018/09/07(金) 21:07:16.42ID:0j44DGgx
>>89
そんなバカな
行数でオブジェクトを捉えるべきじゃない
振る舞いがどこにあるべきかで考えないと

行数が増えたからオブジェクト分けましょうなんてのは
オブジェクト指向の理念に反する

データをカプセル化してデータに対する責務を持つのが
オブジェクトなんだよ
2018/09/07(金) 21:09:02.84ID:0j44DGgx
データに対する振る舞いが集まるんだから凝集度は高まるんです
2018/09/07(金) 21:12:47.16ID:0j44DGgx
オブジェクトが何かを考えないと行数で判断するという
前世紀のような事が起こるわけです
行数が多いからこのオブジェクトは頑張ってるんだな
と思ってしまうわけです
大きな間違いです、オブジェクト指向の根幹はカプセル化です
次に多態性、オブジェクトに適切なフルマがあって初めて
多態性を実現できます
2018/09/07(金) 21:15:03.24ID:Nc+ifFiB
皆が言ってることはもちろん分かる。
分かった上でViewのコートが大きくなりすぎて例えばC#ならついついpartial使ってファイル分けちゃう。
MVVMでも結局はViewか大きくなっちゃう。

いや、分かるよ。俺がViewの設計が下手っぴなのは認める。
2018/09/07(金) 21:16:51.88ID:lg5TGvmQ
>>93
ごめん、間違えた。
肥大化するのはViewじゃなくってViewModelだわ。
2018/09/07(金) 22:12:16.23ID:ZCXZkOYn
>>90
もちろん行数は目安でしかない
責務ごとにクラスを作るのが本筋

>>91
>>83
別人の発言かもしれないがこの発言の関係に疑問が残る

責務ごとにクラスを作ることで凝集度が上がるのであって
複数の責務をひとつのクラスに混ぜたら凝集度は下がるよ
2018/09/07(金) 22:14:41.41ID:ZCXZkOYn
>>92
もちろん行数は目安でしかないが
行数が増えすぎたときに
リファクタリングするのは実践的には大事


>>93
大きくなったら分割するのは何も悪くない

全体の規模が大きくなっていく時に
ひとつのクラスの行数が増えるのが肥大化
クラス数を増やしていくのが正しいOOP
2018/09/07(金) 22:15:21.48ID:JescaW/f
つか、ワンオブジェクトワンファイルなんてルールは無いから。
98デフォルトの名無しさん
垢版 |
2018/09/07(金) 22:58:43.86ID:B/yxkRYZ
このスレにいるような池沼が作らなければ
クラスライブラリも階層や種類で作るからな

低い階層に行けばいくほど単純な簡単な機能を提供するクラスになる
階層は完全に分離させて独立したライブラリにする

そして明確に種類の異なるプリミティブがある場合は
ライブラリを完全に分離させて独立したライブラリにする

その上にアプリケーションを実現するクラス群がのっかる

低学歴知恵遅れが作るとすべて同じ階層で同じ種類になる
2018/09/08(土) 02:09:56.99ID:WAR6v8yR
クラスに階層があるなんて寝言は寝て言うべきだと思うの
2018/09/08(土) 02:15:00.94ID:WAR6v8yR
このクラスの責務は行数を減らす事ですとか上記の沙汰じゃないやろ
101デフォルトの名無しさん
垢版 |
2018/09/08(土) 02:18:28.54ID:j/6nk0eH
当然、低レベルな部分を実現するクラスライブラリと
アプリケーションが主に利用する中間層のクラスライブラリと
アプリケーション自体を記述するクラス群は
シロウトでもないかぎり完全に分離するからな

低レベルな部分を実現するクラスライブラリは
当然、中間層のクラスライブラリやアプリケーション自体を記述するクラス群を
参照することはまずない

アプリケーションが主に利用する中間層のクラスライブラリは
アプリケーション自体を記述するクラス群を参照することはまずない

低学歴知恵遅れが作ると酷い依存関係ができる
コレはオブジェクト指向関係なくライブラリの基本だからな
2018/09/08(土) 04:34:33.80ID:xpw/+eIi
>>99
継承はクラス間の階層構造だろ?

>>100
行数だけの問題じゃないけど
プログラムを単純化するために
間接的なクラスを作ることはあるぞ?
2018/09/08(土) 09:24:01.98ID:t/+GvP7Y
× このクラスの責務は行数を減らす事です
○ fooクラスに別のクラスに責務を分離できる処理を見つけたので分離しました。
その結果fooクラスの行数が減りました。

「行数を減らす」は「責務」ではない。「責務」を分離することで
得られる結果(メリット)の一つだ
2018/09/08(土) 12:06:19.78ID:GaM457i+
>70のサイト読んでると

プログラミングでどの様にしてプログラミングするか
というのと
実際のシステム要件なんかからどうやって設計するか
というのがごっちゃに書かれている感じがする
105デフォルトの名無しさん
垢版 |
2018/09/08(土) 12:33:05.14ID:1I6Cu01I
>>103
鋭い
106デフォルトの名無しさん
垢版 |
2018/09/08(土) 12:41:12.60ID:j/6nk0eH
責務とアホみたいなこといってるわ
組織でたとえるならこうなるからな

 経営者クラス 社員をこき使う
  ↓
 社員クラス ← 派遣をこき使う(職階ごとの複数の中間層)
  ↓
 派遣クラス ← キミラが担当するような低レベルな部分の単純作業(つまりキミラ)

派遣は社員の作業も役員の作業もしない
社員は役員の作業はしない

行数が多いのは
作業を整理して作業を手順化して
派遣にうまく単純作業を割り当てれてないのと同じだからな
つまり、人に仕事させないと自分の作業が増える

キミラは派遣だからな、そういう作業はできないのは分かる

作業ミス(例外)が発生してスルーし続けてたら上までいくからな
107デフォルトの名無しさん
垢版 |
2018/09/08(土) 12:52:36.37ID:j/6nk0eH
例えば扱うビジネスの領域が違えば
部門を分けることになる

会社に複数の部門があっても一つの会社だからな
種類で分けるというのはそういうことになる

キミラみたいな一種類の単純作業しかしてないヤツラには関係ない
108デフォルトの名無しさん
垢版 |
2018/09/08(土) 13:03:07.35ID:j/6nk0eH
というわけでな
キミラは刺身にタンポポのせる作業に戻りなさい
キミラにはムリ
2018/09/08(土) 13:03:32.85ID:t/+GvP7Y
キミラには・・・キミラには・・・
110デフォルトの名無しさん
垢版 |
2018/09/08(土) 13:11:07.86ID:j/6nk0eH
あ、オマエは刺身の醤油入れに醤油つめる作業だったか
いや、醤油入れのキャップをしめる作業だったか

ともかく、キミの細かい作業なんかオレは知らないからな
作業ミスが発生したらちゃんと報告するようにな

まずキミの直属の上長にだ

分かった?
2018/09/08(土) 13:22:45.36ID:t/+GvP7Y
キミラは下で俺が上だ・・・上なんだ・・・
112デフォルトの名無しさん
垢版 |
2018/09/08(土) 14:59:23.20ID:1I6Cu01I
>>106
それだと上位が下位に依存して
組織が硬直化する
インタフェスを挟んで依存関係を逆転させる

(経営者クラス → 社員インタフェス) ← (社員クラス → 派遣インタフェス) ← 派遣クラス

これがInversion Of Control
2018/09/08(土) 15:00:32.82ID:t/+GvP7Y
>>112
それどこの定義?
それと同じような説明をしてる場所教えて
114デフォルトの名無しさん
垢版 |
2018/09/08(土) 15:11:58.88ID:1I6Cu01I
Inversion of Controlパターンでコンポーネント間の結びつきを弱める:CodeZine(コードジン)
https://codezine.jp/article/detail/60

こことか
115デフォルトの名無しさん
垢版 |
2018/09/08(土) 15:40:47.46ID:j/6nk0eH
ただのリフレクションやんけ
昔のウンコMFCのコントロールのリフレクションとほとんど同じ
結局親のコントロールに大量のリフレクションのコードを埋め込むことになる

コントロールごとに処理記述するほうがはるかに分かりやすい
116デフォルトの名無しさん
垢版 |
2018/09/08(土) 15:43:54.64ID:j/6nk0eH
×結びつきを弱める
○もともと末端ではなにもしない処理にする
117デフォルトの名無しさん
垢版 |
2018/09/08(土) 15:51:53.40ID:1I6Cu01I
何もしないだと・・・
じゃあたんぽぽ担当は何のために
118デフォルトの名無しさん
垢版 |
2018/09/08(土) 16:07:40.80ID:j/6nk0eH
いちいちタンポポ載せてる作業経過報告はいらない
作業の補助とか、いちいち次になにをするかとかとか指示はしないからな

タンポポが地面に落ちたとかこのタンポポのハナ小さいとか
そういう報告もいらない
捨てときなさい
それぐらい分かるだろう

タンポポが足りなくなりそうになったら
この台帳に書いときなさい
コレだけはたまに見といてやるからな
119デフォルトの名無しさん
垢版 |
2018/09/08(土) 16:11:08.60ID:1I6Cu01I
台帳によって疎結合になるわけですね
120デフォルトの名無しさん
垢版 |
2018/09/08(土) 16:11:29.17ID:1I6Cu01I
台帳オブジェクトの発見、これがドメイン分析
2018/09/09(日) 00:27:26.13ID:fJdKrV9d
タンポポの弾幕
122デフォルトの名無しさん
垢版 |
2018/09/09(日) 01:14:12.52ID:0bXk8YdS
DBのテーブル数や列数が少なくて
テーブル設計が洗練されているならオブジェクト指向っていいんだろうね。
でも現実のシステム考えるとアホみたいにテーブルの数が多くて
アホみたいに列の数が多くて、整理もされていないわけじゃん。
そしてアホみたいに文言の定数定義とかも多い。
そうすると、階層構造作ってレイヤの数を増やして
結果的1つの機能を達成するのに作るファイルの数が増えるほど、
それらのアホみたいに多くて長い列名をレイヤの数だけ書きまくる
みたいな苦行が待っているわけじゃん。
少しでも項目名の変更があったらそれらのファイル部書き換えたり
クラス名に変更がありでもしたらファイル名やフォルダ名とか、
テーブル名、import文とか全部書き換えになるわけじゃん。
それにオブジェクト指向でどう頑張っても最終的に値を
埋め込む画面が汚くなるのは避けることができない。
そうするとオブジェクト指向設計で無理にファイルを分けて
構造化するリスクってやばいと思う。
そうなると少ないファイルオブジェクト指向クソ喰らえみたいな勢いで
構造化プログラミングだけでゴリッと書くほうが早いと思うんだよね。
命名規則もいちいち気を使わないで勢いで書くんだよ。
ファイルの中関数定義だらけになるが、
その中で似たような処理の関数見つけてきて、複製して、
今必要な処理ができるように改変して新たな関数を作る。これで十分だ。
1ファイルの中で完結しているんだから不具合は波及しない。
ファイルをまたいでimportして無理にファイルの昨日使う必要性なんて
どこにも有りはしないだろ。ファイルの頭からimportやextend inplementだらけ
とか吐き気がするよ。
オブジェクト指向ってファイル間の関連性追ったり、
ファイル構造を含んだデバッグの苦痛は無視してんのか?って思う。
2018/09/09(日) 02:14:14.22ID:rd2vglUK
今北産業
2018/09/09(日) 06:49:20.59ID:O317ycPa
>>122
簡単に言うと短期間しか使わないシステムなら
構造化+DBで組むのも良いと思うけど
長期間使う大規模なシステムは
オブジェクト指向で組んだ方が
保守まで含めた全体のコストは下がる
だから企業もOOを採用している
2018/09/09(日) 07:29:49.35ID:QdIWFdtA
>>122
それオブジェクト指向の問題じゃなく、システムの基本設計が破綻してるだけ。
2018/09/09(日) 07:53:15.67ID:B5kEXEZS
>オブジェクト指向ってファイル間の関連性追ったり、
>ファイル構造を含んだデバッグの苦痛は無視してんのか?って思う。

それはその通りだと思う
ただ関連性はプログラムではなくてクラス構造図やオブジェクト生成手順図みたいなので判断するもので所謂上から下に辿って見て行く物でも辿って出きる物でも無い
オブジェクト指向プログラミングをすると設計図をちゃんと描いてから作ってる
って感じがするし
ただまともに且つ効果的に作るのは難しくて解っていない人が無理やり作ってしまうと反って酷くなる
そういう風にしか作れなかったりそういう風な人しか居ないならオブジェクト指向プログラミングは止めておいた方が良いそういう風な所はcobolみたいなのが一番向いていると思う
ただしオブジェクト指向プログラミングに効果的な使い方が有り実際に行われているのでオブジェクト指向プログラミングその物がおかしいというのは間違い
多くの人が
使えるか?
使うべきか?
となるとそれは無理なのかなぁ
とは思う
どっちかって言うと解らないなら無理して使うなという物だと思う
解らない人が有る程度居る?沢山居る?ということならプロジェクトで使わないという判断する
というのが重要なんだと思う
解らない人には苦痛でしかないし解らない人が作った物は本人にも他に人にも迷惑でしかないだろうなぁ
2018/09/10(月) 23:59:27.90ID:R+xXPRjE
オブジェクト指向がよくわからんド素人俺にはlinqは感動した。
web系フレームワークの真似事+継承だらけのコードのメンテは地獄だった。素人が手をだしたらアカン代物だわ。
128デフォルトの名無しさん
垢版 |
2018/09/17(月) 13:28:16.75ID:hCpxPlj7
ヤフーのブログのサイトで初心者にはわかりやすいブログを発見したよ。
https://blogs.yahoo.co.jp/kamyu_2010/35417803.html
129デフォルトの名無しさん
垢版 |
2018/09/17(月) 13:30:49.79ID:27GPeyCI
>>128
なんか気持ち悪い、アスペっぽい
2018/09/17(月) 13:30:59.69ID:6+Wt0ENU
またお前か
131デフォルトの名無しさん
垢版 |
2018/09/17(月) 22:41:39.72ID:AYOVQ736
>>130
なんか気持ち悪い、糖質っぽい
2018/09/19(水) 05:57:49.26ID:zGAoAQgA
>>128
そのブログ前も見たけど説明が下手だなあ……

何でデザインパターンが必要なのかとか
自分の言葉でほとんど説明できてないじゃん
分かりやすさ以前に分かる説明をしていない
2018/09/19(水) 19:25:49.89ID:3+BPTz35
>>125
そらーオブジェクト指向はオブジェクト使うからオブジェクトの構造をちゃんと綺麗に作れば問題は起きないな
オブジェクトの構造と言えばオブジェクト同士の繋がり方関連性も含まれるだろうからそのまま全体像にも繋がるから個々のオブジェクトさえちゃんと作れば全部が良くなるとも言えるはず

問題はシステムの基本設計が破錠しないように作ればいい、ということではなくて破錠しやすいという所にあるような
2018/09/19(水) 23:52:24.34ID:YoDbSZZU
>>133
知ったかツマラン。
2018/09/20(木) 00:25:31.99ID:UYyYb6vq
>>134
そやな。俺が知ってる唯一の情報がオブジェクト指向はシステムの基本設計が破綻するってだけだからな。
2018/09/20(木) 08:07:35.90ID:v1EqyHAs
俺が知ってる情報は次の2つだ
1.バカが使うとどんな言語でも破綻する
2.>>133-135はそのバカに属する
2018/09/20(木) 17:06:26.63ID:UYyYb6vq
>>136
問題はそこからやな
バカが使わなければ破錠しないのか、隠蔽のコスパが手続き型や関数型で作るコスパを本当に上回ってんのか
2018/09/20(木) 19:40:11.95ID:v1EqyHAs
>>137
隠蔽のコスパとか言うバカ乙 w
2018/09/21(金) 19:22:25.43ID:+zpU6K4O
オブジェクト指向は複雑な構造を構築するわけだから
別に破綻はしないだろう
むしろ見た目は良い
2018/09/21(金) 20:28:00.82ID:qgyq16h9
オブジェクト指向の弱点はクラスとクラス間の関係を設計しないといけないこと
2018/09/21(金) 20:46:48.28ID:qgyq16h9
小規模ならいいが大規模だと設計必須
とりあえず書き始めると最後に詰まるのがオブジェクト指向

小っちゃいパーツを作ってって最後に組み合わせるとき全然組み合わなかったり
つなぎ目の形が合わないのがオブジェクト指向

普通は小さいパーツが出来てるならある程度楽できるはずなのに逆に苦しくなる
本当におかしい
2018/09/21(金) 20:51:36.57ID:qgyq16h9
クラスの関係の設計を軽減するためにクラスには最低限の機能しか実装しないようになっていく
インターフェイスを考えた上の設計がないと後で詰まる
当たり前に思ってるけどそれはオブジェクト指向の限界というか弊害
2018/09/22(土) 08:52:06.62ID:seN9Vjts
つまりクラス間の関係を排除して、Mix-inだけできるようになればいいのかな
144デフォルトの名無しさん
垢版 |
2018/09/22(土) 09:44:45.27ID:jtQ8570T
>>140
境界定義なんて、モノリシックアプリでも必須なんだが?
その認識もないままオブジェクト指向とかマイクロサービスに手を出すとグダる。

開発チームを苦しめるマイクロサービス(翻訳)
https://techracho.bpsinc.jp/hachi8833/2018_01_29/51135
2018/09/22(土) 09:58:06.00ID:LHC7cNdc
>>142
限界? 弊害?

>>142のどこに限界や弊害が書いてあるの?
2018/09/22(土) 14:09:59.67ID:ycLOp2uz
>>145
あんまりそこにしっかり書かれていないから語弊ありきで言うんだが
その抽象的間接的に作らなきゃいけないてことやな
作ってもいい、じゃなくて作らなきゃいけないという
2018/09/22(土) 15:20:24.84ID:LHC7cNdc
>>146
そりゃ大規模プログラムをメンテナンス性あげて作ろうとしたら
オブジェクト指向に限らず、考えなきゃいけないことだろな。

でも破綻していいなら、別に抽象的間接的に作らなくていい。
小さなツール程度ならゴットクラスで破綻状態でもなんとかできるだろうさ
そういう点で、オブジェクト指向の限界でも弊害でも何でも無い
2018/09/23(日) 01:13:41.68ID:MlhnYRcx
>>147
いや俺の言う破綻てのは別にオブジェクトオンリーにこだわって
細かいとこをクロージャで逃げたり、その場しのぎ的に小さいオブジェクトで茶を濁すのもダメって意味じゃないんよ
小さいオブジェクトならオブジェクト同士やシステムが密結合になりえないだろうしな

オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな
2018/09/23(日) 04:48:40.07ID:N8r2Gw6d
> オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな

因果関係が逆

密結合の時・・・問題や破綻が起きる(オブジェクト指向に限らない)

話はこれだけだろう?単純だろうが
2018/09/23(日) 10:01:28.60ID:y+eZw7HP
普通に組めばいいじゃん
151デフォルトの名無しさん
垢版 |
2018/09/23(日) 11:37:45.64ID:0vXeudiz
>>149
おまえめちゃめちゃバカやなw
2018/09/23(日) 12:09:34.69ID:loi8GnJQ
まあオブジェクト指向は密結合を観察する際の一つの指針にはなるかな。
〜指向全般に言えるけれど、結局は一つの指標みたいなもんで
指標上げることが目的になったらクソになるのは当たり前だよね。
153デフォルトの名無しさん
垢版 |
2018/09/23(日) 12:29:12.02ID:0vXeudiz
バカすぎて意味がつながっとらんw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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