無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
前前前スレ
オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
前前スレ
オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
前スレ
オブジェクト指向ってクソじゃねぇかよPart3
https://mevius.5ch.net/test/read.cgi/tech/1542884872/
探検
オブジェクト指向ってクソじゃねぇかよPart4
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2019/04/28(日) 23:38:35.09ID:URSBxRTf963デフォルトの名無しさん
2019/10/07(月) 09:38:05.78ID:iJ2tiwHS964デフォルトの名無しさん
2019/10/07(月) 09:38:44.22ID:iJ2tiwHS クラスで分類するからオブジェクト指向
965デフォルトの名無しさん
2019/10/07(月) 09:51:31.82ID:+Gu4JkVA966デフォルトの名無しさん
2019/10/07(月) 15:50:12.22ID:i6JqkWTj もしかして...staticおじさんをただ単にstaticを使う人への煽りと解釈している人と、「実はオブジェクト指向ってしっくりこないんです!」の記事で大炎上した人という意味で解釈している人がいるんじゃないかな?
967デフォルトの名無しさん
2019/10/07(月) 16:27:55.17ID:iJ2tiwHS >>965
クラスオブジェクトに属してるんだからオブジェクトだよ
newは省略されてるだけ
名前空間とは明らかに違う
継承、ポリモー、カプセル化を使わないとオブジェクト指向じゃないとでも思ってるのかな?
クラスの存在そのものがオブジェクト指向だよ
クラスオブジェクトに属してるんだからオブジェクトだよ
newは省略されてるだけ
名前空間とは明らかに違う
継承、ポリモー、カプセル化を使わないとオブジェクト指向じゃないとでも思ってるのかな?
クラスの存在そのものがオブジェクト指向だよ
968デフォルトの名無しさん
2019/10/07(月) 17:23:04.80ID:i6JqkWTj >>967
世の中にはC言語でオブジェクト指向なプログラムを書いている人もいるから、その理屈は少し怪しいな。
世の中にはC言語でオブジェクト指向なプログラムを書いている人もいるから、その理屈は少し怪しいな。
969デフォルトの名無しさん
2019/10/07(月) 18:03:33.19ID:QTLP3T8x アランケイ「オブジェクト指向発明したけどC++がやりだしたクラスなんか知らないよ」
970デフォルトの名無しさん
2019/10/07(月) 18:49:05.79ID:A3f3M3xS ストラウストラップのハゲは列挙体使うときにクラスを名前空間代わりにして使ってたな
971デフォルトの名無しさん
2019/10/07(月) 19:30:59.83ID:ft7AjSjh972デフォルトの名無しさん
2019/10/07(月) 19:41:54.84ID:RwllG7mn まずは純粋にCだけで書かれたWindowsプログラムを読んでみることをおすすめする
言語がオブジェクト指向に対応してるにこしたことはないけど、
一般人には無縁のパラダイムだよ
言語がオブジェクト指向に対応してるにこしたことはないけど、
一般人には無縁のパラダイムだよ
>>972
あれのメッセージループの記述が、どんな教科書でも switch〜case なのは、そろそろいい加減にやめないといけない、と、強く感じているのですが…
一方、私は無駄に継承を重ねることにしました…薄い層にスライスしてメッセージループと、それ以外の関数との関係を強調する試みです
あれのメッセージループの記述が、どんな教科書でも switch〜case なのは、そろそろいい加減にやめないといけない、と、強く感じているのですが…
一方、私は無駄に継承を重ねることにしました…薄い層にスライスしてメッセージループと、それ以外の関数との関係を強調する試みです
974あ
2019/10/07(月) 20:45:15.45ID:cbxlkLVD >>967
JavaでMath.sqrt(36)って書くとMathがクラスだからオブジェクト指向で
他言語でMath.sqrt(36)って書いてもMathがクラスじゃなくモジュールだったらオブジェクト指向じゃないってことになるね
型クラスが存在してるHaskellはオブジェクト指向そのものw
JavaでMath.sqrt(36)って書くとMathがクラスだからオブジェクト指向で
他言語でMath.sqrt(36)って書いてもMathがクラスじゃなくモジュールだったらオブジェクト指向じゃないってことになるね
型クラスが存在してるHaskellはオブジェクト指向そのものw
975デフォルトの名無しさん
2019/10/07(月) 21:30:40.10ID:cbxlkLVD >>949
EFとか画面単位とか関係ない
↓こういう思考ロジック
[機能概要]
出品側として、商品を出品する。
購入側として、商品を選択し購入手続きをする。
↓
[関数シグニチャを想像]
出品する(出品者ID, 出品リスト)
購入手続きをする(購入者ID, 受け取り住所, 購入品リスト)
↓
[クラス化]
出品者クラス: [識別ID, 出品リスト], 出品する()
購入者クラス: [識別ID, 受け取り住所, 購入品リスト], 購入手続きをする()
リレーショナルモデリングでもオブジェクトモデリングでも
エンディティやオブジェクト間の関連を無視してまともなものはできないよ
EFとか画面単位とか関係ない
↓こういう思考ロジック
[機能概要]
出品側として、商品を出品する。
購入側として、商品を選択し購入手続きをする。
↓
[関数シグニチャを想像]
出品する(出品者ID, 出品リスト)
購入手続きをする(購入者ID, 受け取り住所, 購入品リスト)
↓
[クラス化]
出品者クラス: [識別ID, 出品リスト], 出品する()
購入者クラス: [識別ID, 受け取り住所, 購入品リスト], 購入手続きをする()
リレーショナルモデリングでもオブジェクトモデリングでも
エンディティやオブジェクト間の関連を無視してまともなものはできないよ
976デフォルトの名無しさん
2019/10/07(月) 21:32:53.13ID:2Ro4RUKT >>968
クラス的なものを使ってたらオブジェクト指向的なことができます怪しくないよ全然怪しくないよ
クラス的なものを使ってたらオブジェクト指向的なことができます怪しくないよ全然怪しくないよ
977デフォルトの名無しさん
2019/10/07(月) 21:34:11.03ID:2Ro4RUKT >>974
そのモジュールとやらをクラスとみなすことでオブジェクト指向とみなすことは可能だよ全然余裕だよ
そのモジュールとやらをクラスとみなすことでオブジェクト指向とみなすことは可能だよ全然余裕だよ
978デフォルトの名無しさん
2019/10/07(月) 21:35:30.78ID:2Ro4RUKT >>970
はは。さすがハゲ。
はは。さすがハゲ。
979デフォルトの名無しさん
2019/10/07(月) 21:36:57.35ID:2Ro4RUKT >>969
ケイちゃんのオブジェクト指向は今のWebサービスだかんな
ケイちゃんのオブジェクト指向は今のWebサービスだかんな
980デフォルトの名無しさん
2019/10/07(月) 21:44:51.49ID:2Ro4RUKT >>971
TI(ちんぽうちのう)ってかwwwやかましいわwww
TI(ちんぽうちのう)ってかwwwやかましいわwww
981デフォルトの名無しさん
2019/10/07(月) 21:49:54.27ID:2Ro4RUKT Webサービスがstaticメソッドで実装されてようがインスタンスメソッドで実装されてようがWebサービスの外からはWebサービスというオブジェクトしか見えない
ケイちゃんのオブジェクト指向はそういうでっかい視点でリモートでオブジェクトが協調する姿を画いてる
ケイちゃんにとってはクラスさえ瑣末なもの
ケイちゃんのオブジェクト指向はそういうでっかい視点でリモートでオブジェクトが協調する姿を画いてる
ケイちゃんにとってはクラスさえ瑣末なもの
982デフォルトの名無しさん
2019/10/07(月) 22:51:36.60ID:PHxdOQnu やっぱり人間は構造化できてないものは理解できない
関係の理解も2つが限度
メッセージパッシングによるオブジェクト指向は構造化をめちゃくちゃにする
シミュレーションぐらいしか使い道がない
構造化万歳ダイクストラ万歳
関係の理解も2つが限度
メッセージパッシングによるオブジェクト指向は構造化をめちゃくちゃにする
シミュレーションぐらいしか使い道がない
構造化万歳ダイクストラ万歳
983デフォルトの名無しさん
2019/10/07(月) 23:09:22.21ID:gEYFs1Cq 何だっけ?大工ストライキのこーちょこちょだっけ?
984デフォルトの名無しさん
2019/10/07(月) 23:14:25.56ID:PHxdOQnu 俺も大昔のギリシア人かと思ってた
985デフォルトの名無しさん
2019/10/07(月) 23:18:52.25ID:RK8d645+ もりかして:ダイクストラの互除法
986デフォルトの名無しさん
2019/10/07(月) 23:27:22.09ID:aU+ghkHH お風呂に入ってアルキメデスの原理を発見したポルトガル人ですよ
987デフォルトの名無しさん
2019/10/08(火) 07:54:22.73ID:dANDe70p988デフォルトの名無しさん
2019/10/08(火) 08:49:51.98ID:A8vN7xSK >>987
俺はstaticおじさんに詳しいんだ
俺はstaticおじさんに詳しいんだ
989デフォルトの名無しさん
2019/10/08(火) 08:59:08.94ID:A8vN7xSK 状態が必要ないならstaticを使うべし
状態に依存しないクリーンなメソッドであることを表すことができる
あるメソッドは状態に依存していて、あるメソッドは状態に依存してないそれらのメソッドは別のオブジェクトにするのが良いかもしれない
staticを使用することでこのような分析も可能になる
状態に依存しないクリーンなメソッドであることを表すことができる
あるメソッドは状態に依存していて、あるメソッドは状態に依存してないそれらのメソッドは別のオブジェクトにするのが良いかもしれない
staticを使用することでこのような分析も可能になる
990デフォルトの名無しさん
2019/10/08(火) 09:08:00.47ID:A8vN7xSK 貧血ドメインも悪いもののように言われているが間違ってる
データ構造を工夫すればビジネスロジックは状態を持たずシンプルかつクリーンになる
データ構造を工夫すればビジネスロジックは状態を持たずシンプルかつクリーンになる
991デフォルトの名無しさん
2019/10/08(火) 09:11:50.67ID:A8vN7xSK ドメインオブジェクトは状態を持たないといけないという思い込み呪いバイアスがこんにちのオブジェクト指向クソじゃないか旋風を巻き起こしてる
オブジェクト指向の本質は状態管理じゃないオブジェクトを分類することこそがオブジェクト指向
オブジェクト指向の本質は状態管理じゃないオブジェクトを分類することこそがオブジェクト指向
992デフォルトの名無しさん
2019/10/08(火) 09:35:25.89ID:i7YnJzmB >>989
> 状態が必要ないならstaticを使うべし
それは同意するけど...
https://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html
どこにそんなこと書いてあるの?
> 状態が必要ないならstaticを使うべし
それは同意するけど...
https://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html
どこにそんなこと書いてあるの?
993デフォルトの名無しさん
2019/10/08(火) 09:38:58.49ID:A8vN7xSK >>992
コメントまで全部読めばわかる
コメントまで全部読めばわかる
994デフォルトの名無しさん
2019/10/08(火) 09:39:50.83ID:A8vN7xSK 俺はstaticおじさんにすごく詳しいんだぞ
995デフォルトの名無しさん
2019/10/08(火) 09:49:28.60ID:i7YnJzmB996デフォルトの名無しさん
2019/10/08(火) 09:49:29.44ID:i7YnJzmB997デフォルトの名無しさん
2019/10/08(火) 10:34:00.83ID:A8vN7xSK 全部だ
998デフォルトの名無しさん
2019/10/08(火) 10:39:25.53ID:7Xgl+ZbR 悪名高いsingletonパターンの代替となるmonostateパターンでは全ての変数をstaticにする
999デフォルトの名無しさん
2019/10/08(火) 12:47:36.40ID:197xv4OL 1つのクラスから複数のインスタンスを同時に生成して同時にアクセスするような場面ってそんなないでしょ?
繰り返し同じ関数をパラメータ変えて呼べば済むことが多いだけ
俺も信者に騙された一人だけど、やっぱ評論家はまず学歴見なきゃダメだと痛感した
繰り返し同じ関数をパラメータ変えて呼べば済むことが多いだけ
俺も信者に騙された一人だけど、やっぱ評論家はまず学歴見なきゃダメだと痛感した
1000デフォルトの名無しさん
2019/10/08(火) 12:55:57.81ID:Xb/B1kWR 結論
オブジェクト指向がクソなのではなく、プログラマーがクソだった。
オブジェクト指向がクソなのではなく、プログラマーがクソだった。
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 162日 13時間 17分 22秒
新しいスレッドを立ててください。
life time: 162日 13時間 17分 22秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 高市早苗総理「金利上昇よりも日本の成長が大事」 [Hitzeschleier★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★2 [Hitzeschleier★]
- 【野球】止まらぬ野球人口減少に危機感 ラミレス氏「野球人口は激減、人気自体も下がっている」「もっと野球ができる環境を整えるべき」 [冬月記者★]
- 【高市首相】「民主党が提出したから」 議員定数「1割」削減の理由 [ぐれ★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」★2 [931948549]
- 【悲報】低収入男性の未婚率、低収入女性に比べて60パーセントも高いことが判明wwwww小野田紀美助けて! [856698234]
- JR東海「リニア工事で水が枯れるのは一瞬だし回復させる手立てないわこれ」 [744361492]
- 【悲報】たけガイ、「中卒」という言葉を覚えてしまう🏡
- 【正論】高市さん「『企業献金について与野党で協議する』という答弁は石破個人のものであり、もはや無効」特定野党を完全論破 [519511584]
- 飴で確実に味覚障害者が開発したやろって味
