カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。
かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性」として「カプセル化は絶対にやめろ」としている。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
探検
カプセル化の有害性、オブジェクト指向は愚かな考え
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/06/18(木) 23:47:36.69ID:l/2SQUll252デフォルトの名無しさん
2020/06/26(金) 23:08:18.29ID:0CWC8I0Q >>251
だからオブジェクト指向自体には問題がないって言ってるんでしょ?
だからオブジェクト指向自体には問題がないって言ってるんでしょ?
253デフォルトの名無しさん
2020/06/26(金) 23:08:49.57ID:0CWC8I0Q 人の話と技術の話の区別ぐらいつけよう。
人をいくらアホだ馬鹿だと叩いても
技術を否定したことにはならない
人をいくらアホだ馬鹿だと叩いても
技術を否定したことにはならない
254デフォルトの名無しさん
2020/06/26(金) 23:09:53.77ID:Pmgb6tek ListやStack、HTTP Clientといったものはオブジェクト指向と見事に調和するんだけど
それは変えられることがないから、これはこういう機能のものだってのが決まっていて
システムの仕様が変わっても変更されることがない
いっぽうでビジネスドメインにオブジェクト指向を適用しようとすると
仕様がころころ変わるから最初の設計ではうまくいかなくなることが多い
仕様が変わったらオブジェクトの設計もやり直せるならいんだけど
一度システムが動き出したら数万〜数億の人が影響受けるから
なかなか変えられないのが実際のところ
カプセル化されると困るというのはそういう状況の話じゃないかと僕は思いました
ドメインの安定性によってオブジェクト指向の適否は左右されると天才の僕は提言します
それは変えられることがないから、これはこういう機能のものだってのが決まっていて
システムの仕様が変わっても変更されることがない
いっぽうでビジネスドメインにオブジェクト指向を適用しようとすると
仕様がころころ変わるから最初の設計ではうまくいかなくなることが多い
仕様が変わったらオブジェクトの設計もやり直せるならいんだけど
一度システムが動き出したら数万〜数億の人が影響受けるから
なかなか変えられないのが実際のところ
カプセル化されると困るというのはそういう状況の話じゃないかと僕は思いました
ドメインの安定性によってオブジェクト指向の適否は左右されると天才の僕は提言します
255デフォルトの名無しさん
2020/06/26(金) 23:12:02.84ID:Pmgb6tek256デフォルトの名無しさん
2020/06/26(金) 23:18:57.04ID:0CWC8I0Q >>255
お前がそうであってほしいと願ってるのはなぜ?w
お前がそうであってほしいと願ってるのはなぜ?w
257デフォルトの名無しさん
2020/06/26(金) 23:20:58.30ID:Pmgb6tek >>256
何いってんだお前
何いってんだお前
258デフォルトの名無しさん
2020/06/26(金) 23:21:20.47ID:Pmgb6tek 僕が願ってるのは世界平和だけ
259デフォルトの名無しさん
2020/06/26(金) 23:35:54.37ID:n1YsnRgt カプセル化するなら
一切ソースコードレビューしなくていいんだな
変数やメソッドの命名もインデントも全部
適当にやるからな
文句つけるならテストの結果だけで文句を言って
くれよ、ソースコードには文句言うなよな。
例外をキャッチする必要もないな。
俺が利用するクラスで発生した問題はそのクラス内部の
責任だ。内部事情は意識しなくてもいいんだからな。
おっとロギングも内部事情だからやる必要ないな。
そんな事情は利用側は知りたくもないし結果だけが
欲しいんだもんな。
逆にこれらを押し付けるなら全部publicで問題ないよな。
クラスの内部を知りたいってことだからな。
「↑こいつはカプセル化が何なのかを理解してない。」
カプセル化おじさんがどうせこう言うだろうから先に
言っておいたわ。
一切ソースコードレビューしなくていいんだな
変数やメソッドの命名もインデントも全部
適当にやるからな
文句つけるならテストの結果だけで文句を言って
くれよ、ソースコードには文句言うなよな。
例外をキャッチする必要もないな。
俺が利用するクラスで発生した問題はそのクラス内部の
責任だ。内部事情は意識しなくてもいいんだからな。
おっとロギングも内部事情だからやる必要ないな。
そんな事情は利用側は知りたくもないし結果だけが
欲しいんだもんな。
逆にこれらを押し付けるなら全部publicで問題ないよな。
クラスの内部を知りたいってことだからな。
「↑こいつはカプセル化が何なのかを理解してない。」
カプセル化おじさんがどうせこう言うだろうから先に
言っておいたわ。
260デフォルトの名無しさん
2020/06/26(金) 23:45:57.60ID:0CWC8I0Q261デフォルトの名無しさん
2020/06/26(金) 23:50:21.75ID:ks+n8Bmz 珍しくこの手のスレでは比較的、リアルな批判がでたかも。
汎用性の無いビジネスドメインをオブジェクト指向を意識しながらクラス化したところで、メリット薄いよね?って話はまぁ、理解できる。
でも、ビジネスドメインを構成するクラスを汎用性の高いクラスだけで構成させることができれば、大分スッキリする。
いや、ほんと、そこがオブジェクト指向信者の腕の見せ所なんだがな。
たぶん、ビジネスドメインの責務分割の仕方を誤って神クラスを作ってしまうパターンにはまってるのかも。
汎用性の無いビジネスドメインをオブジェクト指向を意識しながらクラス化したところで、メリット薄いよね?って話はまぁ、理解できる。
でも、ビジネスドメインを構成するクラスを汎用性の高いクラスだけで構成させることができれば、大分スッキリする。
いや、ほんと、そこがオブジェクト指向信者の腕の見せ所なんだがな。
たぶん、ビジネスドメインの責務分割の仕方を誤って神クラスを作ってしまうパターンにはまってるのかも。
262デフォルトの名無しさん
2020/06/26(金) 23:56:26.67ID:ks+n8Bmz でも、まぁ...開発者の立場次第にもよるのかも。
俺みたいに自社開発しているエンジニアだったら、利益を上げるレベルの品質を根拠にいくらでも納期を伸ばしてもらえるので、ド丁寧なオブジェクト指向プログラムを書く余裕があるけど、受託開発になると納期がギリギリに設定されがちだし(偏見?)、そんな最中、丁寧なコードなんて記述できるかって言われると...まぁ、どうなんだろうね。
俺みたいに自社開発しているエンジニアだったら、利益を上げるレベルの品質を根拠にいくらでも納期を伸ばしてもらえるので、ド丁寧なオブジェクト指向プログラムを書く余裕があるけど、受託開発になると納期がギリギリに設定されがちだし(偏見?)、そんな最中、丁寧なコードなんて記述できるかって言われると...まぁ、どうなんだろうね。
263デフォルトの名無しさん
2020/06/26(金) 23:58:23.12ID:34AfLaws 「状態によって挙動が変わる」ものが何十個も何百個も集まったら凡人には把握しきれない。
ましてや内部の状態が読み取りすらできないとなれば絶望的なことになるのバカでもわかる。
ウェブシステムや業務システムみたいにデータベースという巨大グローバル変数群を構造体にコピーしては書き戻すというのを繰り返すだけだと深い階層化が発生しないから問題は起きないんだろうね。
ましてや内部の状態が読み取りすらできないとなれば絶望的なことになるのバカでもわかる。
ウェブシステムや業務システムみたいにデータベースという巨大グローバル変数群を構造体にコピーしては書き戻すというのを繰り返すだけだと深い階層化が発生しないから問題は起きないんだろうね。
264デフォルトの名無しさん
2020/06/26(金) 23:59:12.73ID:5Zl1C0wL265デフォルトの名無しさん
2020/06/26(金) 23:59:54.02ID:TcIyIoqu266デフォルトの名無しさん
2020/06/27(土) 00:00:02.19ID:ihk0yOtr 問題が起きやすいのはハードウェアに近い低層と、ライブラリ層と、ビジネスロジック層なんかに分業している分野だろうね。
267デフォルトの名無しさん
2020/06/27(土) 00:05:48.57ID:n2G2JMaM268デフォルトの名無しさん
2020/06/27(土) 00:09:26.27ID:ihk0yOtr データベースを使っているようなシステムはまず深い階層化は起きない。
RDBと階層化は相性が悪いからね。
それなのに深い階層化を使っている気分になっている人が多い。
ハードウェア制御絡みの本当に深い階層化を経験している人とは住んでいる世界が違う。
だから話が噛み合わない。
RDBと階層化は相性が悪いからね。
それなのに深い階層化を使っている気分になっている人が多い。
ハードウェア制御絡みの本当に深い階層化を経験している人とは住んでいる世界が違う。
だから話が噛み合わない。
269デフォルトの名無しさん
2020/06/27(土) 00:31:59.28ID:npRplKHX みんな難しく考えすぎw
オブジェクト指向はインテリセンスが効くんで便利
それで納得しろよ これがないとダルいだろ
オブジェクト指向はインテリセンスが効くんで便利
それで納得しろよ これがないとダルいだろ
270デフォルトの名無しさん
2020/06/27(土) 00:33:18.96ID:0UrSdNRf >>267
> お前の主張の最大のメリットであるスッキリがお前の主観でしかない
事実を主観でしかないと批判されましても困るね。
実際、汎用性の高いクラス...それこそ、listやstack、http cliant並みに汎用性の高いクラスだけでプログラムが書かれてたらスッキリするだろ。
代替案があるなら、どうぞ。
> そもそも設計書とソースの構造を一致させるための設計技術ではないのかな?
何の話?
> お前の主張の最大のメリットであるスッキリがお前の主観でしかない
事実を主観でしかないと批判されましても困るね。
実際、汎用性の高いクラス...それこそ、listやstack、http cliant並みに汎用性の高いクラスだけでプログラムが書かれてたらスッキリするだろ。
代替案があるなら、どうぞ。
> そもそも設計書とソースの構造を一致させるための設計技術ではないのかな?
何の話?
271デフォルトの名無しさん
2020/06/27(土) 00:47:38.59ID:eG65KKvD スッキリって何?コードが短くなるの?
頭悪いから50行以上は読めないんだけど
頭悪いから50行以上は読めないんだけど
272デフォルトの名無しさん
2020/06/27(土) 00:51:39.98ID:n2G2JMaM273デフォルトの名無しさん
2020/06/27(土) 00:53:32.69ID:kHv6hhb8274デフォルトの名無しさん
2020/06/27(土) 01:02:58.36ID:kHv6hhb8275デフォルトの名無しさん
2020/06/27(土) 01:03:48.38ID:0UrSdNRf いや、普通にOOPのコードだけど...。
逆に、list,stack並みに...で、なぜ伝わらない。
当たり前すぎて伝わらなかったのか、初めて聞いた単語だから伝わらなかったのか。
このスレの連中だと高低差激しすぎてコミュニケーションが難しいな。
逆に、list,stack並みに...で、なぜ伝わらない。
当たり前すぎて伝わらなかったのか、初めて聞いた単語だから伝わらなかったのか。
このスレの連中だと高低差激しすぎてコミュニケーションが難しいな。
276デフォルトの名無しさん
2020/06/27(土) 01:04:44.30ID:0UrSdNRf >>274
あっ、はい。そうです。
あっ、はい。そうです。
277デフォルトの名無しさん
2020/06/27(土) 01:08:16.33ID:0UrSdNRf >>274
強いて言うのなら、ドメインが安定しているところに見える範囲がオブジェクト指向信者とオブジェクト指向使いとstaticおじさんで、どれくらい違うのかなって感じですが。
強いて言うのなら、ドメインが安定しているところに見える範囲がオブジェクト指向信者とオブジェクト指向使いとstaticおじさんで、どれくらい違うのかなって感じですが。
278デフォルトの名無しさん
2020/06/27(土) 01:11:06.46ID:kHv6hhb8 こうなるんだったらもっとこういうオブジェクトにすれば
良かったと思うことがザラにある
今最高にきれいでも未来の仕様変更でど汚くなることもある
いま汚くても未来の仕様変更がきれいにできることもある
その見極め方が僕には未だにわからない
良かったと思うことがザラにある
今最高にきれいでも未来の仕様変更でど汚くなることもある
いま汚くても未来の仕様変更がきれいにできることもある
その見極め方が僕には未だにわからない
279デフォルトの名無しさん
2020/06/27(土) 01:11:51.83ID:F7GoDPAy >>269
いや動的になる分、効きづらくなるだろばか。
それでもモジュール切り離しの視点で良いこともあるってのがオブジェクト指向の旨みなわけだが。
依存逆転のモジュール構造が作りやすいってだけの話なのにバカが変な哲学持ち出すから
カスみたいな輩がお前はわかってない、俺が真の意味を理解してるとか言い出すわけだよ。
いや動的になる分、効きづらくなるだろばか。
それでもモジュール切り離しの視点で良いこともあるってのがオブジェクト指向の旨みなわけだが。
依存逆転のモジュール構造が作りやすいってだけの話なのにバカが変な哲学持ち出すから
カスみたいな輩がお前はわかってない、俺が真の意味を理解してるとか言い出すわけだよ。
280デフォルトの名無しさん
2020/06/27(土) 01:20:22.14ID:kHv6hhb8 依存性を逆転させて良いことがあるっていうんですか!?
281デフォルトの名無しさん
2020/06/27(土) 01:27:34.87ID:BNc+T5Ob 1万行超えてもスクロールして作業するのか?
282デフォルトの名無しさん
2020/06/27(土) 01:28:03.05ID:kHv6hhb8 業務で扱うようなある程度複雑な仕様をどう設計して実装するか
みんなでプログラミングして比較してみたいねー
みんなでプログラミングして比較してみたいねー
283デフォルトの名無しさん
2020/06/27(土) 01:31:55.47ID:kHv6hhb8284デフォルトの名無しさん
2020/06/27(土) 02:14:37.03ID:n/FbqQvh >>282
業務というのはIBM(International Business Machines )より
パンチングカードの集計から始まっているので
主にアンケート調査結果や在庫管理プログラム
の設計ということになるだろう
業務というのはIBM(International Business Machines )より
パンチングカードの集計から始まっているので
主にアンケート調査結果や在庫管理プログラム
の設計ということになるだろう
285デフォルトの名無しさん
2020/06/27(土) 06:21:43.43ID:pgI/H4Wp >>282
業務に限らず、OOPに限らず
そもそもはそれが問題なんよ
複雑さそのものが
ある程度以上複雑なモンは人類にはムリなんよ
それが人類とプログラミングの関係なんよ
サンプルプログラムや学校の課題書いたり
趣味で小さいの書いてる連中と
ある程度以上複雑なモンを書いてる連中とはまずそこからして
想定してるもんが違いすぎる
業務に限らず、OOPに限らず
そもそもはそれが問題なんよ
複雑さそのものが
ある程度以上複雑なモンは人類にはムリなんよ
それが人類とプログラミングの関係なんよ
サンプルプログラムや学校の課題書いたり
趣味で小さいの書いてる連中と
ある程度以上複雑なモンを書いてる連中とはまずそこからして
想定してるもんが違いすぎる
286デフォルトの名無しさん
2020/06/27(土) 07:01:10.93ID:U90iCGW6287デフォルトの名無しさん
2020/06/27(土) 07:42:28.66ID:e0+LQFD/ 「オブジェクト指向は高度で複雑な事をやる技術者
だけが恩恵を受けられるもので簡単なシステム
書いてるような凡人プログラマは恩恵を
感じにくい。」
だったら入門書でそんなもの教えるな
初心者プログラマにソケット通信や
システムコールやカーネルみたいな話を
いきなり教えるんか?
だけが恩恵を受けられるもので簡単なシステム
書いてるような凡人プログラマは恩恵を
感じにくい。」
だったら入門書でそんなもの教えるな
初心者プログラマにソケット通信や
システムコールやカーネルみたいな話を
いきなり教えるんか?
288デフォルトの名無しさん
2020/06/27(土) 07:44:28.06ID:e0+LQFD/ 凡人にとってオブジェクト指向は
邪魔でしかないんだよ。
高度な技術者の勝手な利便性を
凡人に押し付けるな。
凡人の方が大多数なんだよ。
邪魔でしかないんだよ。
高度な技術者の勝手な利便性を
凡人に押し付けるな。
凡人の方が大多数なんだよ。
289デフォルトの名無しさん
2020/06/27(土) 07:54:23.66ID:BNc+T5Ob 何でプログラムやってるんだ?
もっと簡単なことがあるだろ
もっと簡単なことがあるだろ
290デフォルトの名無しさん
2020/06/27(土) 08:29:03.79ID:0UrSdNRf >>286
どうだろ。
staticおじさん(「オブジェクト指向ってしっくりこないんです」の記事を書いて炎上、詭弁を重ねて意固地にstaticを薦めた有名な老害)じゃないのなら、まだ、大丈夫なんじゃね?
どうだろ。
staticおじさん(「オブジェクト指向ってしっくりこないんです」の記事を書いて炎上、詭弁を重ねて意固地にstaticを薦めた有名な老害)じゃないのなら、まだ、大丈夫なんじゃね?
291デフォルトの名無しさん
2020/06/27(土) 08:38:52.96ID:0UrSdNRf それ以前に、カプセル化は絶対駄目の結論に持っていこうとしているのか?
日が変わるとID変わるから、誰が誰だかよくわからなくなってきた...。
日が変わるとID変わるから、誰が誰だかよくわからなくなってきた...。
292デフォルトの名無しさん
2020/06/27(土) 09:43:50.27ID:8YCrt6Qf 何事も程度次第
ただ丁度良い程度を知るのは少数の天性のセンス持ちだけで
凡人には理解できなかったり極端に走ったりする
俺は凡人とセンス持ちの間、というか凡人の域を超えられないのかなあ
プログラム書くたびにどの程度で済ませるか、いつも迷ってる
ただ丁度良い程度を知るのは少数の天性のセンス持ちだけで
凡人には理解できなかったり極端に走ったりする
俺は凡人とセンス持ちの間、というか凡人の域を超えられないのかなあ
プログラム書くたびにどの程度で済ませるか、いつも迷ってる
293デフォルトの名無しさん
2020/06/27(土) 10:00:13.69ID:pgI/H4Wp OOP批判の大半はクラス設計の難しさによる
OOPによってもたらされたクラスライブラリが
十分に使いやすいのに対して
自分でクラスやインタフェースを作ろうとしたとき
納得の行かない結果になる
問題の切り分けが出来ず
再利用性のある単位ぴったりにフォーカスできず
一緒にあるべきものを別にしたり
別にあるべきものを一緒にしたり
縦に割る物を横に割ろうとしたり
いろんな判断をあやまった結果
最後に、クラス設計が悪いのではなくてOOPそのものが悪いと断ずる
OOPによってもたらされたクラスライブラリが
十分に使いやすいのに対して
自分でクラスやインタフェースを作ろうとしたとき
納得の行かない結果になる
問題の切り分けが出来ず
再利用性のある単位ぴったりにフォーカスできず
一緒にあるべきものを別にしたり
別にあるべきものを一緒にしたり
縦に割る物を横に割ろうとしたり
いろんな判断をあやまった結果
最後に、クラス設計が悪いのではなくてOOPそのものが悪いと断ずる
294デフォルトの名無しさん
2020/06/27(土) 10:09:46.57ID:twDHZDh4 >>287
別に初心者だってオブジェクト指向の恩恵は受けられるだろう。良くあるコンテナや文字列とかの基本的なものだってオブジェクト指向的なものだし。
それに初心者の内からオブジェクト指向について知っておく、慣れておくことは重要だろう。
世の中の便利なライブラリやフレームワーク等の多くはオブジェクト指向で作られているからそれを使えるようになるために必要。
自分で設計するのも初めは難しいが、理屈や理論を学びながら実例に触れ、試行錯誤しながら徐々に慣れていく。
何より、初心者だからとオブジェクト指向をまったく触れずに手続き型のみで経験を積んで、ある程度自分なりのノウハウや経験論を身に付けてから別のパラダイムを取り入れようとすると、中にはアレルギー反応を起こして適応できなくなってしまう人もごく稀にいるから。
別に初心者だってオブジェクト指向の恩恵は受けられるだろう。良くあるコンテナや文字列とかの基本的なものだってオブジェクト指向的なものだし。
それに初心者の内からオブジェクト指向について知っておく、慣れておくことは重要だろう。
世の中の便利なライブラリやフレームワーク等の多くはオブジェクト指向で作られているからそれを使えるようになるために必要。
自分で設計するのも初めは難しいが、理屈や理論を学びながら実例に触れ、試行錯誤しながら徐々に慣れていく。
何より、初心者だからとオブジェクト指向をまったく触れずに手続き型のみで経験を積んで、ある程度自分なりのノウハウや経験論を身に付けてから別のパラダイムを取り入れようとすると、中にはアレルギー反応を起こして適応できなくなってしまう人もごく稀にいるから。
295デフォルトの名無しさん
2020/06/27(土) 10:47:57.21ID:n2G2JMaM 長い上に全く中身がないな
スッキリ以上のオブジェクト指向のメリットは出てないからね
これで技術者やってるつもりなんだから早く死ねよ
スッキリ以上のオブジェクト指向のメリットは出てないからね
これで技術者やってるつもりなんだから早く死ねよ
296デフォルトの名無しさん
2020/06/27(土) 11:57:57.12ID:0UrSdNRf >>295
お前の無駄口程、無駄な発言は無いけどな。
お前の無駄口程、無駄な発言は無いけどな。
297デフォルトの名無しさん
2020/06/27(土) 12:40:58.84ID:ut+wnsgT カプセル化って別に外部からのアクセスを不能にすることじゃないよ
外部から『直接的』にアクセスさせることを避けて、そのかわり外部向けにわかりやすい何かを提供すること
現実のカプセルのように、扱いにくいものを隠して扱いやすく提供すること
別にカプセル化してもリフレクションやその他諸々で遠回りなアクセスが可能なこともある
カプセル化ってのはかなり意味の広い言葉で、「臭いものに蓋」みたいなこと全般をカプセル化と呼ぶ
極端な例だと、関数にわかりやすい名前をつけることで関数内部を見なくて済むようにすることもカプセル化と呼ぶ
外部から『直接的』にアクセスさせることを避けて、そのかわり外部向けにわかりやすい何かを提供すること
現実のカプセルのように、扱いにくいものを隠して扱いやすく提供すること
別にカプセル化してもリフレクションやその他諸々で遠回りなアクセスが可能なこともある
カプセル化ってのはかなり意味の広い言葉で、「臭いものに蓋」みたいなこと全般をカプセル化と呼ぶ
極端な例だと、関数にわかりやすい名前をつけることで関数内部を見なくて済むようにすることもカプセル化と呼ぶ
298デフォルトの名無しさん
2020/06/27(土) 12:43:14.13ID:npRplKHX >>288
いやいや兵隊がよくわからないのに使えるするのが
オブジェクト指向の利点の一つだろ つかそれができないなら
オブジェクト指向にする意義がない まあ兵隊がよくわからないのに
使えるぐらいのオブジェクト指向ができるなら、設計した本人たちは
そもそもオブジェクト指向にしなくても出来ちゃうって逆説はあるわな
いやいや兵隊がよくわからないのに使えるするのが
オブジェクト指向の利点の一つだろ つかそれができないなら
オブジェクト指向にする意義がない まあ兵隊がよくわからないのに
使えるぐらいのオブジェクト指向ができるなら、設計した本人たちは
そもそもオブジェクト指向にしなくても出来ちゃうって逆説はあるわな
299デフォルトの名無しさん
2020/06/27(土) 13:14:49.52ID:e0+LQFD/ >>293
その通りだと思う
オブジェクト指向で作られたOSSの、ライブラリは
とても便利だし、役に立つと思う。
なら初心者や凡人へはクラスをインポートして使い方
のみを教えるべきで、クラスの作り方なんて
教えない方が親切だと思う
正直、自分でクラスなんて作りたくないし
組織内のメンバーが作成したローカル内の
クラスなんて利用や継承したくないし
自分が作ったクラスを誰かに利用して
欲しくない、使い捨てで十分。
再利用性は以前自分が書いたコードを複製
して微修正すればいいよ、
自分が書いたコードだから修正箇所は
把握してる。
JavaScriptやpyみたいな言語はオブジェクト指向
導入してるけどクラスの作成は必須じゃない
だけどJavaみたいな静的言語はクラスの作成が
必須になってる。ここがおかしいと思う。
クラス作ること強制してる言語仕様やフレームワークは
おかしいと思う。
その通りだと思う
オブジェクト指向で作られたOSSの、ライブラリは
とても便利だし、役に立つと思う。
なら初心者や凡人へはクラスをインポートして使い方
のみを教えるべきで、クラスの作り方なんて
教えない方が親切だと思う
正直、自分でクラスなんて作りたくないし
組織内のメンバーが作成したローカル内の
クラスなんて利用や継承したくないし
自分が作ったクラスを誰かに利用して
欲しくない、使い捨てで十分。
再利用性は以前自分が書いたコードを複製
して微修正すればいいよ、
自分が書いたコードだから修正箇所は
把握してる。
JavaScriptやpyみたいな言語はオブジェクト指向
導入してるけどクラスの作成は必須じゃない
だけどJavaみたいな静的言語はクラスの作成が
必須になってる。ここがおかしいと思う。
クラス作ること強制してる言語仕様やフレームワークは
おかしいと思う。
300デフォルトの名無しさん
2020/06/27(土) 13:26:54.01ID:eG65KKvD 再利用しない前提ならそりゃ無用の長物だわな
301デフォルトの名無しさん
2020/06/27(土) 13:45:44.90ID:ssxfEnBq そして再利用しようとすると微妙に仕様が変わって結局中身を改造しないといけなくなる罠。
汎用的なパーツ以外はクラス化すると余計手間かかるな。
汎用的なパーツ以外はクラス化すると余計手間かかるな。
302デフォルトの名無しさん
2020/06/27(土) 13:51:13.06ID:eG65KKvD なんというかprivate云々とかそういう次元の話じゃないよねこれ
なんか脱力した
なんか脱力した
303デフォルトの名無しさん
2020/06/27(土) 13:56:46.31ID:kHv6hhb8 再利用しなくてもテストしやすくなったりするからオブジェクトは素敵な概念だと思うよ
304デフォルトの名無しさん
2020/06/27(土) 13:58:08.98ID:kHv6hhb8 修正が必要になったとき、それを使う側に影響を与えないっていう性質があっていっぱいちゅき
305デフォルトの名無しさん
2020/06/27(土) 13:58:50.41ID:kHv6hhb8 まあ修正の程度にもよるんですけどね!(げきおこ
306デフォルトの名無しさん
2020/06/27(土) 14:06:34.44ID:UiFDXh57 JavaをdisるJava全否定のスレッドなのね
307デフォルトの名無しさん
2020/06/27(土) 14:13:22.91ID:UrcM2fcl このスレタイの主張、可能なら複数の言語で、
オブジェクト指向で書かれたそれなりの量のコードを、
それより機能的で保守性があって行数も少なくて万人が読みやすいようにリファクタリングするとかして証明して欲しいなあ
それがプログラマの矜持ってもんだと思う
コードで語れってね
オブジェクト指向で書かれたそれなりの量のコードを、
それより機能的で保守性があって行数も少なくて万人が読みやすいようにリファクタリングするとかして証明して欲しいなあ
それがプログラマの矜持ってもんだと思う
コードで語れってね
308デフォルトの名無しさん
2020/06/27(土) 14:22:56.55ID:Z/pHF8i9 >>273
カプセル化はC言語でもできる。
カプセル化はC言語でもできる。
309デフォルトの名無しさん
2020/06/27(土) 14:23:12.65ID:1p1mL4Jd バカなやつほど長文で演説した挙げ句オブジェクト指向のメリットをスッキリ以上のモノを挙げられない
レスしにくるなよ惨めだから
レスしにくるなよ惨めだから
310デフォルトの名無しさん
2020/06/27(土) 14:26:38.74ID:Z/pHF8i9 >>282
一般的な業務システムはデータベースに出し入れするだけだから深い階層構造にはならない。
データベースに出し入れする際の受け皿となる構造体が1層あるくらいだろ。
そもそもRDBは階層構造そのままぶち込めないし。
一般的な業務システムはデータベースに出し入れするだけだから深い階層構造にはならない。
データベースに出し入れする際の受け皿となる構造体が1層あるくらいだろ。
そもそもRDBは階層構造そのままぶち込めないし。
311デフォルトの名無しさん
2020/06/27(土) 14:34:40.99ID:Z/pHF8i9312デフォルトの名無しさん
2020/06/27(土) 14:37:58.51ID:Z/pHF8i9313デフォルトの名無しさん
2020/06/27(土) 14:50:29.02ID:1p1mL4Jd 初めに赤字が出たら続きはねーよw
314デフォルトの名無しさん
2020/06/27(土) 15:01:24.90ID:Z/pHF8i9 これオブジェクト指向の善し悪しじゃないよね。
改修発生時に雲の上で決まった無茶な追加仕様にどれだけ耐えられる構造にできるかという話だ。
ただオブジェクト指向は昔ながらの教科書どおりにやると耐えられない構造になりがち。
もちろんオブジェクト指向でなくても発生する。
C言語でも発生する。
そうならないようコーディングの約束事を決めよう。
そうなってないかコードレビューはしっかりやろう。
改修発生時に雲の上で決まった無茶な追加仕様にどれだけ耐えられる構造にできるかという話だ。
ただオブジェクト指向は昔ながらの教科書どおりにやると耐えられない構造になりがち。
もちろんオブジェクト指向でなくても発生する。
C言語でも発生する。
そうならないようコーディングの約束事を決めよう。
そうなってないかコードレビューはしっかりやろう。
315デフォルトの名無しさん
2020/06/27(土) 15:03:08.36ID:kHv6hhb8316デフォルトの名無しさん
2020/06/27(土) 15:04:29.05ID:qJyof1ZF317デフォルトの名無しさん
2020/06/27(土) 15:09:38.92ID:kHv6hhb8 Pythonにアクセス修飾子がないことはググればわかるじゃん
318デフォルトの名無しさん
2020/06/27(土) 15:09:51.10ID:kHv6hhb8 ソースは僕だ!
319デフォルトの名無しさん
2020/06/27(土) 15:10:07.03ID:Z/pHF8i9320デフォルトの名無しさん
2020/06/27(土) 15:10:51.38ID:kHv6hhb8 マヨネーズの君とソースの僕
321デフォルトの名無しさん
2020/06/27(土) 15:12:52.88ID:qJyof1ZF322デフォルトの名無しさん
2020/06/27(土) 15:13:38.77ID:kHv6hhb8 そう言えば日本の業務形態には貧血ドメインの方がよく適合するなんて話があったなあ
貧血って言うと悪い印象があるからシンドメインとかスリムドメインに言い換えて
スリムドメインの方が優れてるんだって風潮がそろそろ出てきても良いと思う
貧血って言うと悪い印象があるからシンドメインとかスリムドメインに言い換えて
スリムドメインの方が優れてるんだって風潮がそろそろ出てきても良いと思う
323デフォルトの名無しさん
2020/06/27(土) 15:14:18.21ID:qJyof1ZF324デフォルトの名無しさん
2020/06/27(土) 15:15:51.79ID:Z/pHF8i9 >>321
それただのポインタだろ
それただのポインタだろ
325デフォルトの名無しさん
2020/06/27(土) 15:18:13.32ID:e0+LQFD/ そもそも、一昔前ならソフトウェアは
製品化して値段を付けて売るって考えがあったから
保守や仕様変更の影響範囲について関心が高かった。
だからオブジェクト指向は必要だったかもしれない
だが現在ではソフトウェアは基本無料が当たり前だし
プロジェクト依頼元の依頼を受けてオーダーメイドで
システムを作るから依頼元だけが金を払ってくれるの
であって
あとはスマホアプリを無料配布して
そのアプリで課金してもらって金を稼ぐみたいな
稼ぎ方だから、ソフトウェア自体に売却する価値はない。
売却する資産価値がないからオブジェクト指向で
保守する価値がない、使い捨てにすればいい。
実際、スマホアプリとかのほとんどが軽微なバグ
とか沢山潜んだままリリースされていて、ずっと
放置されてたりするじゃん。
製品化して値段を付けて売るって考えがあったから
保守や仕様変更の影響範囲について関心が高かった。
だからオブジェクト指向は必要だったかもしれない
だが現在ではソフトウェアは基本無料が当たり前だし
プロジェクト依頼元の依頼を受けてオーダーメイドで
システムを作るから依頼元だけが金を払ってくれるの
であって
あとはスマホアプリを無料配布して
そのアプリで課金してもらって金を稼ぐみたいな
稼ぎ方だから、ソフトウェア自体に売却する価値はない。
売却する資産価値がないからオブジェクト指向で
保守する価値がない、使い捨てにすればいい。
実際、スマホアプリとかのほとんどが軽微なバグ
とか沢山潜んだままリリースされていて、ずっと
放置されてたりするじゃん。
326デフォルトの名無しさん
2020/06/27(土) 15:19:44.46ID:Z/pHF8i9 >>321
ポインタは横の繋がり
上下関係ではない
深い階層化というのは、雲の上で決まった仕様に底辺開発者は意見できないということ。
深い階層化というのは、底辺開発者が受けてるパワハラなど雲の上は知らないということ。
ポインタは横の繋がり
上下関係ではない
深い階層化というのは、雲の上で決まった仕様に底辺開発者は意見できないということ。
深い階層化というのは、底辺開発者が受けてるパワハラなど雲の上は知らないということ。
327デフォルトの名無しさん
2020/06/27(土) 15:20:21.12ID:kHv6hhb8 >>323
では君と僕のカプセル化の定義が異なるだけじゃん
君のカプセル化の定義で僕が言ってることを解釈するからFalseになる
僕が言ってることは僕の定義で解釈したらTrueになる
アクセス修飾子が存在することをカプセル化可能と定義します
よろしくおねがいします
では君と僕のカプセル化の定義が異なるだけじゃん
君のカプセル化の定義で僕が言ってることを解釈するからFalseになる
僕が言ってることは僕の定義で解釈したらTrueになる
アクセス修飾子が存在することをカプセル化可能と定義します
よろしくおねがいします
328デフォルトの名無しさん
2020/06/27(土) 15:23:36.87ID:qJyof1ZF329デフォルトの名無しさん
2020/06/27(土) 15:25:23.02ID:kHv6hhb8330デフォルトの名無しさん
2020/06/27(土) 15:26:25.05ID:kHv6hhb8 カプセル化とはアクセス修飾子でprivateにできることを言います
331デフォルトの名無しさん
2020/06/27(土) 15:28:46.34ID:UrcM2fcl 本当に?
332デフォルトの名無しさん
2020/06/27(土) 15:31:32.87ID:qJyof1ZF333デフォルトの名無しさん
2020/06/27(土) 15:32:44.69ID:qJyof1ZF334デフォルトの名無しさん
2020/06/27(土) 15:40:51.44ID:Z/pHF8i9 >>332
データベースで深い階層化が起こるとすれば、
・データベースの出し入れはストアドプロシージャ経由のみ
・誰かが作ったストアドプロシージャを叩くライブラリ
・末端開発者が見えるのはライブラリのみ
という状況
データベースで深い階層化が起こるとすれば、
・データベースの出し入れはストアドプロシージャ経由のみ
・誰かが作ったストアドプロシージャを叩くライブラリ
・末端開発者が見えるのはライブラリのみ
という状況
335デフォルトの名無しさん
2020/06/27(土) 15:45:38.60ID:kHv6hhb8 >>331
ホントっす
ホントっす
336デフォルトの名無しさん
2020/06/27(土) 15:46:26.65ID:ut+wnsgT ちがうよ
337デフォルトの名無しさん
2020/06/27(土) 15:46:32.04ID:kHv6hhb8338デフォルトの名無しさん
2020/06/27(土) 15:47:10.15ID:kHv6hhb8 >>336
何が違うんですか!?なんでですか?説明してください!
何が違うんですか!?なんでですか?説明してください!
339デフォルトの名無しさん
2020/06/27(土) 15:47:49.36ID:UrcM2fcl 内包してない?
340デフォルトの名無しさん
2020/06/27(土) 15:48:03.17ID:ut+wnsgT >>338
定義が違うから説明しろと言われても困る
定義が違うから説明しろと言われても困る
341デフォルトの名無しさん
2020/06/27(土) 15:48:32.24ID:kHv6hhb8 >>340
説明くらいできるだろハゲ、横着すんな
説明くらいできるだろハゲ、横着すんな
342デフォルトの名無しさん
2020/06/27(土) 15:48:33.70ID:PPBVSkWl ぬるぽ
343デフォルトの名無しさん
2020/06/27(土) 15:52:34.57ID:ut+wnsgT344デフォルトの名無しさん
2020/06/27(土) 15:53:17.57ID:ut+wnsgT345デフォルトの名無しさん
2020/06/27(土) 15:53:25.63ID:kHv6hhb8 >>343
なるほどね、アレルギーが、そういうことね
なるほどね、アレルギーが、そういうことね
346デフォルトの名無しさん
2020/06/27(土) 15:53:46.87ID:kHv6hhb8 恥かいた
347デフォルトの名無しさん
2020/06/27(土) 15:54:37.70ID:kHv6hhb8 安価ミスってんじゃないよ!!
納得した僕が馬鹿みたいでしょうが!!
納得した僕が馬鹿みたいでしょうが!!
348デフォルトの名無しさん
2020/06/27(土) 15:55:00.35ID:ut+wnsgT 馬鹿なんじゃないの?
349デフォルトの名無しさん
2020/06/27(土) 15:56:18.48ID:e0+LQFD/ ああもうめちゃくちゃだよ!
350デフォルトの名無しさん
2020/06/27(土) 16:01:21.18ID:7UzCd1n0 何やってんだおめーら。
そのへんでやめとき。
そのへんでやめとき。
351デフォルトの名無しさん
2020/06/27(土) 16:02:43.02ID:kHv6hhb8 カプセル化には強度があります。
C言語のヘッダやJavaのprivateといった言語機能として
カプセル化できることを強カプセル化と言います
JavaScriptやPythonのように命名規則によって使用者に
知らせるカプセル化のことを弱カプセル化と言うのです。
>>348 僕のこと見直してくれてもいいです
C言語のヘッダやJavaのprivateといった言語機能として
カプセル化できることを強カプセル化と言います
JavaScriptやPythonのように命名規則によって使用者に
知らせるカプセル化のことを弱カプセル化と言うのです。
>>348 僕のこと見直してくれてもいいです
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国で「クレしん」公開延期 対日報復、エンタメに波及 [蚤の市★]
- 東京株式市場 インバウンド関連株が下落 中国政府の渡航自粛要請で [バイト歴50年★]
- 5:55:55.555
- 有識者「高市総理が発言を撤回したり、辞職するしかないと言っている人は、それで日中関係が今まで通りになると思ってる?」 [834922174]
- 戦争は無くならないし殺人は起きるし女はレイプされるし子供は餓死するし
- 日経時間外、5万円割れ 垂直落下始まる [402859164]
- 高市さんに土下座してもらったら一発解決なのに何でやらないんだろ??
- 【悲報】男性人気アイドルグループJO1、中国公演中止wwwwwwwwwwwwwwwwwwwwwwwwwww
