カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
探検
オブジェクト指向ってクソじゃね?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/08/24(金) 13:32:09.36ID:ifygL6bT2018/08/24(金) 14:27:45.99ID:0hzqlpOd
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();
メソッドは全部グローバル関数になるの?
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();
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
67デフォルトの名無しさん
2018/09/05(水) 23:23:20.11ID:BuNkH2Jq オブジェクト指向で描くロバストネス図なんてのは
構造化プログラミングの前のフローチャートそのものじゃないか
オブジェクト指向は現代のGOTO文なんだろ?
構造化プログラミングの前のフローチャートそのものじゃないか
オブジェクト指向は現代のGOTO文なんだろ?
2018/09/06(木) 01:28:19.10ID:uUC4mFDs
>>67
https://thinkit.co.jp/article/13487
> ロバストネス図を書くにあたっては、以下のルールを遵守する必要があります。
>
> ・アクターはバウンダリのみ関連線(矢印)が引ける
> ・バウンダリはコントロールとアクターのみ関連線が引ける
> ・エンティティはコントロールのみ関連線が引ける
> ・コントロールはコントロール同士とバウンダリのみ関連線が引ける
残念ながらフロー(流れ)を示す線は書けないので
フローチャートにはならない。特に条件分岐やループなどがない
https://thinkit.co.jp/article/13487
> ロバストネス図を書くにあたっては、以下のルールを遵守する必要があります。
>
> ・アクターはバウンダリのみ関連線(矢印)が引ける
> ・バウンダリはコントロールとアクターのみ関連線が引ける
> ・エンティティはコントロールのみ関連線が引ける
> ・コントロールはコントロール同士とバウンダリのみ関連線が引ける
残念ながらフロー(流れ)を示す線は書けないので
フローチャートにはならない。特に条件分岐やループなどがない
2018/09/06(木) 03:27:30.57ID:OdtAawkS
70デフォルトの名無しさん
2018/09/06(木) 07:33:26.04ID:ndioKak871デフォルトの名無しさん
2018/09/06(木) 07:42:10.81ID:ndioKak8 /** リストの要素をゼロで置き換える **/
private void clearList() {
for (Integer el : someList) {
el = new Integer(0);
}
}
なかなかファンキーなロケンロールだぜ
private void clearList() {
for (Integer el : someList) {
el = new Integer(0);
}
}
なかなかファンキーなロケンロールだぜ
2018/09/06(木) 08:26:13.84ID:abjuqq+M
2018/09/06(木) 08:28:15.97ID:abjuqq+M
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
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
2018/09/06(木) 23:37:17.79ID:OdtAawkS
2018/09/07(金) 08:35:51.18ID:avaKv6NM
2018/09/07(金) 08:40:25.09ID:avaKv6NM
責務ごとにクラスを作るのがどうして主流だよね?ってことですよ
2018/09/07(金) 09:19:04.85ID:avaKv6NM
責務ごとに分離したら凝集度が低下します
2018/09/07(金) 19:25:29.09ID:ZCXZkOYn
2018/09/07(金) 19:40:40.77ID:Nc+ifFiB
ボトムアップで設計したら結局最上位クラスが神クラス化しちゃうのは、アプリ層の設計が甘いんかな?
どうもUI部の設計は苦手だ。
どうもUI部の設計は苦手だ。
2018/09/07(金) 20:33:13.60ID:avaKv6NM
2018/09/07(金) 20:36:30.67ID:avaKv6NM
ドメインオブジェクトがドメインとしての振る舞いを持つのですから肥大化とは言いません、データと関わりのない振る舞いを持つわけではないんです
2018/09/07(金) 20:48:57.91ID:ZCXZkOYn
2018/09/07(金) 20:49:13.32ID:ZCXZkOYn
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の設計が下手っぴなのは認める。
分かった上でViewのコートが大きくなりすぎて例えばC#ならついついpartial使ってファイル分けちゃう。
MVVMでも結局はViewか大きくなっちゃう。
いや、分かるよ。俺がViewの設計が下手っぴなのは認める。
2018/09/07(金) 21:16:51.88ID:lg5TGvmQ
2018/09/07(金) 22:12:16.23ID:ZCXZkOYn
2018/09/07(金) 22:14:41.41ID:ZCXZkOYn
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
クラスに階層があるなんて寝言は寝て言うべきだと思うの
100デフォルトの名無しさん
2018/09/08(土) 02:15:00.94ID:WAR6v8yR このクラスの責務は行数を減らす事ですとか上記の沙汰じゃないやろ
101デフォルトの名無しさん
2018/09/08(土) 02:18:28.54ID:j/6nk0eH 当然、低レベルな部分を実現するクラスライブラリと
アプリケーションが主に利用する中間層のクラスライブラリと
アプリケーション自体を記述するクラス群は
シロウトでもないかぎり完全に分離するからな
低レベルな部分を実現するクラスライブラリは
当然、中間層のクラスライブラリやアプリケーション自体を記述するクラス群を
参照することはまずない
アプリケーションが主に利用する中間層のクラスライブラリは
アプリケーション自体を記述するクラス群を参照することはまずない
低学歴知恵遅れが作ると酷い依存関係ができる
コレはオブジェクト指向関係なくライブラリの基本だからな
アプリケーションが主に利用する中間層のクラスライブラリと
アプリケーション自体を記述するクラス群は
シロウトでもないかぎり完全に分離するからな
低レベルな部分を実現するクラスライブラリは
当然、中間層のクラスライブラリやアプリケーション自体を記述するクラス群を
参照することはまずない
アプリケーションが主に利用する中間層のクラスライブラリは
アプリケーション自体を記述するクラス群を参照することはまずない
低学歴知恵遅れが作ると酷い依存関係ができる
コレはオブジェクト指向関係なくライブラリの基本だからな
102デフォルトの名無しさん
2018/09/08(土) 04:34:33.80ID:xpw/+eIi103デフォルトの名無しさん
2018/09/08(土) 09:24:01.98ID:t/+GvP7Y × このクラスの責務は行数を減らす事です
○ fooクラスに別のクラスに責務を分離できる処理を見つけたので分離しました。
その結果fooクラスの行数が減りました。
「行数を減らす」は「責務」ではない。「責務」を分離することで
得られる結果(メリット)の一つだ
○ fooクラスに別のクラスに責務を分離できる処理を見つけたので分離しました。
その結果fooクラスの行数が減りました。
「行数を減らす」は「責務」ではない。「責務」を分離することで
得られる結果(メリット)の一つだ
104デフォルトの名無しさん
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 というわけでな
キミラは刺身にタンポポのせる作業に戻りなさい
キミラにはムリ
キミラは刺身にタンポポのせる作業に戻りなさい
キミラにはムリ
109デフォルトの名無しさん
2018/09/08(土) 13:03:32.85ID:t/+GvP7Y キミラには・・・キミラには・・・
110デフォルトの名無しさん
2018/09/08(土) 13:11:07.86ID:j/6nk0eH あ、オマエは刺身の醤油入れに醤油つめる作業だったか
いや、醤油入れのキャップをしめる作業だったか
ともかく、キミの細かい作業なんかオレは知らないからな
作業ミスが発生したらちゃんと報告するようにな
まずキミの直属の上長にだ
分かった?
いや、醤油入れのキャップをしめる作業だったか
ともかく、キミの細かい作業なんかオレは知らないからな
作業ミスが発生したらちゃんと報告するようにな
まずキミの直属の上長にだ
分かった?
111デフォルトの名無しさん
2018/09/08(土) 13:22:45.36ID:t/+GvP7Y キミラは下で俺が上だ・・・上なんだ・・・
112デフォルトの名無しさん
2018/09/08(土) 14:59:23.20ID:1I6Cu01I >>106
それだと上位が下位に依存して
組織が硬直化する
インタフェスを挟んで依存関係を逆転させる
(経営者クラス → 社員インタフェス) ← (社員クラス → 派遣インタフェス) ← 派遣クラス
これがInversion Of Control
それだと上位が下位に依存して
組織が硬直化する
インタフェスを挟んで依存関係を逆転させる
(経営者クラス → 社員インタフェス) ← (社員クラス → 派遣インタフェス) ← 派遣クラス
これがInversion Of Control
113デフォルトの名無しさん
2018/09/08(土) 15:00:32.82ID:t/+GvP7Y114デフォルトの名無しさん
2018/09/08(土) 15:11:58.88ID:1I6Cu01I Inversion of Controlパターンでコンポーネント間の結びつきを弱める:CodeZine(コードジン)
https://codezine.jp/article/detail/60
こことか
https://codezine.jp/article/detail/60
こことか
115デフォルトの名無しさん
2018/09/08(土) 15:40:47.46ID:j/6nk0eH ただのリフレクションやんけ
昔のウンコMFCのコントロールのリフレクションとほとんど同じ
結局親のコントロールに大量のリフレクションのコードを埋め込むことになる
コントロールごとに処理記述するほうがはるかに分かりやすい
昔のウンコ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 台帳オブジェクトの発見、これがドメイン分析
121デフォルトの名無しさん
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だらけ
とか吐き気がするよ。
オブジェクト指向ってファイル間の関連性追ったり、
ファイル構造を含んだデバッグの苦痛は無視してんのか?って思う。
テーブル設計が洗練されているならオブジェクト指向っていいんだろうね。
でも現実のシステム考えるとアホみたいにテーブルの数が多くて
アホみたいに列の数が多くて、整理もされていないわけじゃん。
そしてアホみたいに文言の定数定義とかも多い。
そうすると、階層構造作ってレイヤの数を増やして
結果的1つの機能を達成するのに作るファイルの数が増えるほど、
それらのアホみたいに多くて長い列名をレイヤの数だけ書きまくる
みたいな苦行が待っているわけじゃん。
少しでも項目名の変更があったらそれらのファイル部書き換えたり
クラス名に変更がありでもしたらファイル名やフォルダ名とか、
テーブル名、import文とか全部書き換えになるわけじゃん。
それにオブジェクト指向でどう頑張っても最終的に値を
埋め込む画面が汚くなるのは避けることができない。
そうするとオブジェクト指向設計で無理にファイルを分けて
構造化するリスクってやばいと思う。
そうなると少ないファイルオブジェクト指向クソ喰らえみたいな勢いで
構造化プログラミングだけでゴリッと書くほうが早いと思うんだよね。
命名規則もいちいち気を使わないで勢いで書くんだよ。
ファイルの中関数定義だらけになるが、
その中で似たような処理の関数見つけてきて、複製して、
今必要な処理ができるように改変して新たな関数を作る。これで十分だ。
1ファイルの中で完結しているんだから不具合は波及しない。
ファイルをまたいでimportして無理にファイルの昨日使う必要性なんて
どこにも有りはしないだろ。ファイルの頭からimportやextend inplementだらけ
とか吐き気がするよ。
オブジェクト指向ってファイル間の関連性追ったり、
ファイル構造を含んだデバッグの苦痛は無視してんのか?って思う。
123デフォルトの名無しさん
2018/09/09(日) 02:14:14.22ID:rd2vglUK 今北産業
124デフォルトの名無しさん
2018/09/09(日) 06:49:20.59ID:O317ycPa >>122
簡単に言うと短期間しか使わないシステムなら
構造化+DBで組むのも良いと思うけど
長期間使う大規模なシステムは
オブジェクト指向で組んだ方が
保守まで含めた全体のコストは下がる
だから企業もOOを採用している
簡単に言うと短期間しか使わないシステムなら
構造化+DBで組むのも良いと思うけど
長期間使う大規模なシステムは
オブジェクト指向で組んだ方が
保守まで含めた全体のコストは下がる
だから企業もOOを採用している
125デフォルトの名無しさん
2018/09/09(日) 07:29:49.35ID:QdIWFdtA >>122
それオブジェクト指向の問題じゃなく、システムの基本設計が破綻してるだけ。
それオブジェクト指向の問題じゃなく、システムの基本設計が破綻してるだけ。
126デフォルトの名無しさん
2018/09/09(日) 07:53:15.67ID:B5kEXEZS >オブジェクト指向ってファイル間の関連性追ったり、
>ファイル構造を含んだデバッグの苦痛は無視してんのか?って思う。
それはその通りだと思う
ただ関連性はプログラムではなくてクラス構造図やオブジェクト生成手順図みたいなので判断するもので所謂上から下に辿って見て行く物でも辿って出きる物でも無い
オブジェクト指向プログラミングをすると設計図をちゃんと描いてから作ってる
って感じがするし
ただまともに且つ効果的に作るのは難しくて解っていない人が無理やり作ってしまうと反って酷くなる
そういう風にしか作れなかったりそういう風な人しか居ないならオブジェクト指向プログラミングは止めておいた方が良いそういう風な所はcobolみたいなのが一番向いていると思う
ただしオブジェクト指向プログラミングに効果的な使い方が有り実際に行われているのでオブジェクト指向プログラミングその物がおかしいというのは間違い
多くの人が
使えるか?
使うべきか?
となるとそれは無理なのかなぁ
とは思う
どっちかって言うと解らないなら無理して使うなという物だと思う
解らない人が有る程度居る?沢山居る?ということならプロジェクトで使わないという判断する
というのが重要なんだと思う
解らない人には苦痛でしかないし解らない人が作った物は本人にも他に人にも迷惑でしかないだろうなぁ
>ファイル構造を含んだデバッグの苦痛は無視してんのか?って思う。
それはその通りだと思う
ただ関連性はプログラムではなくてクラス構造図やオブジェクト生成手順図みたいなので判断するもので所謂上から下に辿って見て行く物でも辿って出きる物でも無い
オブジェクト指向プログラミングをすると設計図をちゃんと描いてから作ってる
って感じがするし
ただまともに且つ効果的に作るのは難しくて解っていない人が無理やり作ってしまうと反って酷くなる
そういう風にしか作れなかったりそういう風な人しか居ないならオブジェクト指向プログラミングは止めておいた方が良いそういう風な所はcobolみたいなのが一番向いていると思う
ただしオブジェクト指向プログラミングに効果的な使い方が有り実際に行われているのでオブジェクト指向プログラミングその物がおかしいというのは間違い
多くの人が
使えるか?
使うべきか?
となるとそれは無理なのかなぁ
とは思う
どっちかって言うと解らないなら無理して使うなという物だと思う
解らない人が有る程度居る?沢山居る?ということならプロジェクトで使わないという判断する
というのが重要なんだと思う
解らない人には苦痛でしかないし解らない人が作った物は本人にも他に人にも迷惑でしかないだろうなぁ
127デフォルトの名無しさん
2018/09/10(月) 23:59:27.90ID:R+xXPRjE オブジェクト指向がよくわからんド素人俺にはlinqは感動した。
web系フレームワークの真似事+継承だらけのコードのメンテは地獄だった。素人が手をだしたらアカン代物だわ。
web系フレームワークの真似事+継承だらけのコードのメンテは地獄だった。素人が手をだしたらアカン代物だわ。
128デフォルトの名無しさん
2018/09/17(月) 13:28:16.75ID:hCpxPlj7 ヤフーのブログのサイトで初心者にはわかりやすいブログを発見したよ。
https://blogs.yahoo.co.jp/kamyu_2010/35417803.html
https://blogs.yahoo.co.jp/kamyu_2010/35417803.html
129デフォルトの名無しさん
2018/09/17(月) 13:30:49.79ID:27GPeyCI >>128
なんか気持ち悪い、アスペっぽい
なんか気持ち悪い、アスペっぽい
130デフォルトの名無しさん
2018/09/17(月) 13:30:59.69ID:6+Wt0ENU またお前か
131デフォルトの名無しさん
2018/09/17(月) 22:41:39.72ID:AYOVQ736 >>130
なんか気持ち悪い、糖質っぽい
なんか気持ち悪い、糖質っぽい
132デフォルトの名無しさん
2018/09/19(水) 05:57:49.26ID:zGAoAQgA133デフォルトの名無しさん
2018/09/19(水) 19:25:49.89ID:3+BPTz35 >>125
そらーオブジェクト指向はオブジェクト使うからオブジェクトの構造をちゃんと綺麗に作れば問題は起きないな
オブジェクトの構造と言えばオブジェクト同士の繋がり方関連性も含まれるだろうからそのまま全体像にも繋がるから個々のオブジェクトさえちゃんと作れば全部が良くなるとも言えるはず
問題はシステムの基本設計が破錠しないように作ればいい、ということではなくて破錠しやすいという所にあるような
そらーオブジェクト指向はオブジェクト使うからオブジェクトの構造をちゃんと綺麗に作れば問題は起きないな
オブジェクトの構造と言えばオブジェクト同士の繋がり方関連性も含まれるだろうからそのまま全体像にも繋がるから個々のオブジェクトさえちゃんと作れば全部が良くなるとも言えるはず
問題はシステムの基本設計が破錠しないように作ればいい、ということではなくて破錠しやすいという所にあるような
134デフォルトの名無しさん
2018/09/19(水) 23:52:24.34ID:YoDbSZZU >>133
知ったかツマラン。
知ったかツマラン。
135デフォルトの名無しさん
2018/09/20(木) 00:25:31.99ID:UYyYb6vq >>134
そやな。俺が知ってる唯一の情報がオブジェクト指向はシステムの基本設計が破綻するってだけだからな。
そやな。俺が知ってる唯一の情報がオブジェクト指向はシステムの基本設計が破綻するってだけだからな。
136デフォルトの名無しさん
2018/09/20(木) 08:07:35.90ID:v1EqyHAs137デフォルトの名無しさん
2018/09/20(木) 17:06:26.63ID:UYyYb6vq138デフォルトの名無しさん
2018/09/20(木) 19:40:11.95ID:v1EqyHAs >>137
隠蔽のコスパとか言うバカ乙 w
隠蔽のコスパとか言うバカ乙 w
139デフォルトの名無しさん
2018/09/21(金) 19:22:25.43ID:+zpU6K4O オブジェクト指向は複雑な構造を構築するわけだから
別に破綻はしないだろう
むしろ見た目は良い
別に破綻はしないだろう
むしろ見た目は良い
140デフォルトの名無しさん
2018/09/21(金) 20:28:00.82ID:qgyq16h9 オブジェクト指向の弱点はクラスとクラス間の関係を設計しないといけないこと
141デフォルトの名無しさん
2018/09/21(金) 20:46:48.28ID:qgyq16h9 小規模ならいいが大規模だと設計必須
とりあえず書き始めると最後に詰まるのがオブジェクト指向
小っちゃいパーツを作ってって最後に組み合わせるとき全然組み合わなかったり
つなぎ目の形が合わないのがオブジェクト指向
普通は小さいパーツが出来てるならある程度楽できるはずなのに逆に苦しくなる
本当におかしい
とりあえず書き始めると最後に詰まるのがオブジェクト指向
小っちゃいパーツを作ってって最後に組み合わせるとき全然組み合わなかったり
つなぎ目の形が合わないのがオブジェクト指向
普通は小さいパーツが出来てるならある程度楽できるはずなのに逆に苦しくなる
本当におかしい
142デフォルトの名無しさん
2018/09/21(金) 20:51:36.57ID:qgyq16h9 クラスの関係の設計を軽減するためにクラスには最低限の機能しか実装しないようになっていく
インターフェイスを考えた上の設計がないと後で詰まる
当たり前に思ってるけどそれはオブジェクト指向の限界というか弊害
インターフェイスを考えた上の設計がないと後で詰まる
当たり前に思ってるけどそれはオブジェクト指向の限界というか弊害
143デフォルトの名無しさん
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
境界定義なんて、モノリシックアプリでも必須なんだが?
その認識もないままオブジェクト指向とかマイクロサービスに手を出すとグダる。
開発チームを苦しめるマイクロサービス(翻訳)
https://techracho.bpsinc.jp/hachi8833/2018_01_29/51135
145デフォルトの名無しさん
2018/09/22(土) 09:58:06.00ID:LHC7cNdc146デフォルトの名無しさん
2018/09/22(土) 14:09:59.67ID:ycLOp2uz147デフォルトの名無しさん
2018/09/22(土) 15:20:24.84ID:LHC7cNdc >>146
そりゃ大規模プログラムをメンテナンス性あげて作ろうとしたら
オブジェクト指向に限らず、考えなきゃいけないことだろな。
でも破綻していいなら、別に抽象的間接的に作らなくていい。
小さなツール程度ならゴットクラスで破綻状態でもなんとかできるだろうさ
そういう点で、オブジェクト指向の限界でも弊害でも何でも無い
そりゃ大規模プログラムをメンテナンス性あげて作ろうとしたら
オブジェクト指向に限らず、考えなきゃいけないことだろな。
でも破綻していいなら、別に抽象的間接的に作らなくていい。
小さなツール程度ならゴットクラスで破綻状態でもなんとかできるだろうさ
そういう点で、オブジェクト指向の限界でも弊害でも何でも無い
148デフォルトの名無しさん
2018/09/23(日) 01:13:41.68ID:MlhnYRcx >>147
いや俺の言う破綻てのは別にオブジェクトオンリーにこだわって
細かいとこをクロージャで逃げたり、その場しのぎ的に小さいオブジェクトで茶を濁すのもダメって意味じゃないんよ
小さいオブジェクトならオブジェクト同士やシステムが密結合になりえないだろうしな
オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな
いや俺の言う破綻てのは別にオブジェクトオンリーにこだわって
細かいとこをクロージャで逃げたり、その場しのぎ的に小さいオブジェクトで茶を濁すのもダメって意味じゃないんよ
小さいオブジェクトならオブジェクト同士やシステムが密結合になりえないだろうしな
オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな
149デフォルトの名無しさん
2018/09/23(日) 04:48:40.07ID:N8r2Gw6d > オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな
因果関係が逆
密結合の時・・・問題や破綻が起きる(オブジェクト指向に限らない)
話はこれだけだろう?単純だろうが
因果関係が逆
密結合の時・・・問題や破綻が起きる(オブジェクト指向に限らない)
話はこれだけだろう?単純だろうが
150デフォルトの名無しさん
2018/09/23(日) 10:01:28.60ID:y+eZw7HP 普通に組めばいいじゃん
151デフォルトの名無しさん
2018/09/23(日) 11:37:45.64ID:0vXeudiz >>149
おまえめちゃめちゃバカやなw
おまえめちゃめちゃバカやなw
152デフォルトの名無しさん
2018/09/23(日) 12:09:34.69ID:loi8GnJQ まあオブジェクト指向は密結合を観察する際の一つの指針にはなるかな。
〜指向全般に言えるけれど、結局は一つの指標みたいなもんで
指標上げることが目的になったらクソになるのは当たり前だよね。
〜指向全般に言えるけれど、結局は一つの指標みたいなもんで
指標上げることが目的になったらクソになるのは当たり前だよね。
153デフォルトの名無しさん
2018/09/23(日) 12:29:12.02ID:0vXeudiz バカすぎて意味がつながっとらんw
154デフォルトの名無しさん
2018/09/23(日) 15:43:38.58ID:w6QfJYdi オブジェクト指向に継承って要る?
もともとのオブジェクト指向の発想からすれば、別に無くてもいいっていうか、むしろ邪魔じゃね?
もともとのオブジェクト指向の発想からすれば、別に無くてもいいっていうか、むしろ邪魔じゃね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市内閣の若い世代の支持率は92.4% FNN世論調査★5 [♪♪♪★]
- 【芸能】波瑠と高杉真宙が結婚 ドラマ共演きっかけで交際2年ゴールイン 12月上旬に婚姻届提出し既に挙式終え (スポニチ) [湛然★]
- 【赤坂サウナ火災】ドアノブを後から付け替えた形跡…ノブに連動するボルトが動かず開かない状態に [ぐれ★]
- NY円、一時156円台後半に上昇 片山財務相の円安けん制発言受け [蚤の市★]
- 日本の労働生産性28位に後退、先進7か国で最下位…デフレやコロナ禍で経済の低成長続く★2 [ぐれ★]
- サントリー、「ジムビーム」主力蒸留所を1年休止 関税で米国からの輸出不振 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪★2
- AIに後ろからおっぱい揉む画像指定してたらとんでもない問題に気付いてしまったんだが
- だいぶ痩せてきたからみて
- 神奈川県警、交番を失いハイエース乗りに🥺 [399259198]
- 日本人が楽しみにしてる日中戦争がこれ [819729701]
- メモリが超高騰した理由wwwwwwwwwwwwwwwwwwwwwwww
