記事へのコメント41

    • 注目コメント
    • 新着コメント
    gonerdog
    メイヤーがOCPを実現する方法として継承を使ってて現代的じゃないよねって話ならわかる。けどその実現方法を根拠にOCP不要説を唱えるのは無理があるかな。現代ではより疎結合にOCPを実現する方法があるので試してみては

    その他
    longyang
    誰かの発言を見る時、対象がどの程度の範囲に及ぶのかが分からないまま過剰に反応してもな、と良く思うので、その辺をAIが補完してくれると記事に左右されにくい穏やかな生活になるような気がしている。

    その他
    secseek
    できるかどうかはともかく理想としてあるべきだよねって話はあっていいと思います。さすがにその辺の価値観が存在すらしていない人だと会話が成り立たないので

    その他
    mas-higa
    "複数ユーザー向けに異なる機能を提供するシチュエーションがあるかというとないですね" 自社のアプリをカスタマイズして売るような商売してれば頻繁にあるでしょう。まぁそれを継承ではやらんけど。

    その他
    paulownia
    「狭い世界で語るな」という厳しいコメントがあるが、同意せざるを得ない。別チームが作ったライブラリの使用を強制され、修正が許可されてないという状況は今でもあり、そのライブラリが拡張に開かれてないと詰む

    その他
    noname774300
    他ブコメリンク先の『SOLID原則はソリッドではない』はめっちゃいい文章。ていうかdeprecated、obsoletedとかよく見るし、結果的に原則が破られていることは多い。 https://gist.github.com/matarillo/800c7f827602173eba6753f7e4039186

    その他
    takahashim
    現代的に一般化されたOCPは「第三者が作ったモジュールを拡張したい」という要望を持つモジュール利用者に対してどう利用しやすいものを提供するか、という話だと思ってます。forkもアリだけど運用コストがでかい

    その他
    slack_pulse
    “まだ見ぬ拡張に対応するような設計が本当に必要かというのもある” どこかに書いてあった気がしたが忘れたというのは悪いので探したところ アジャイルソフトウエア開発の奥義p.117 に似たような事が書いてあった

    その他
    atsushieno
    IDEやブラウザのアドインを開発していれば「バージョンが上がって互換性がなくなりました。でも自分でソースいじれば動くようにできるから問題なよね」では困るし、それはカプセル化では解決しないと考えるのでは

    その他
    Error401
    OCPに限らずSOLIDインストール後は「だいたい抽象に対して実装すればいいんでしょ」的な思考に落ちつくと思うけど、あえてOCPは不要という意味もないと思う。

    その他
    sa-yama321
    役に立つ原則もあるけど、SOLIDは広まっているのに意味がない原則のひとつだと思うわ。

    その他
    suginoy
    自分は原則ではなく達成目標だと思ってる。

    その他
    hogeaegxa
    継承絡みでなく簡単に見える単一責任原則も、正しいことは直感でわかるが、実践するとすぐに無思考で簡単にパターンを当てはめられる代物ではないのがわかるからな。原則すら全部に適用できる銀の弾丸ではないのだ。

    その他
    fuji_haruka
    メイヤーの原典にあたっててえらい

    その他
    yojik
    作ろうとしているモノによる。例えばエディタをつくってるなら絶対に必要だし、マイクロサービスが連携する業務システムならそもそも原則の適用範囲から外れてる。つまり時代は関係ないのでは。。

    その他
    anqmb
    「まだ見ぬ拡張に対応するような設計が本当に必要かというのもある。だいたい、無用に複雑になり、作業の邪魔になることはあっても、その複雑さが報われることはない」

    その他
    ghostbass
    多分 principal > principle の typo / 一人二人でやってるなら別にどうってことはないけど規模が大きくなると「ああ、あそこ引数追加したから」で死ねる局面は意外とありそうな。

    その他
    PrivateIntMain
    アーキテクチャから内部に至るまでインターフェースまみれな昨今は、Sを満たせば他は特に考えなくていいとも言えるかもしれない?

    その他
    objectiveworker
    普通のアプリ開発でフレームワークなんて作らない方がいいと思う。

    その他
    AtsukoMay
    原則だったらprinciple だとおもうんだけど、と思ってぐぐってしまったわ。内容のことじゃなくてごめんね。

    その他
    uehaj
    セマンティックバージョニングがこの問題を解決している気もする。互換性は壊さなきゃいけないときは壊すべきで、無理に抗うと汚くなり壊れる。でも互換性のなさを明示することで実害を低減する。あとcodemodとかね

    その他
    gonta616
    オブジェクトの継承や中で分岐書くのではなく、インターフェイスとコンポジションの組み合わせで、拡張には開いてて、変更には閉じてる話だと理解してるし、非常に有効と認識してる

    その他
    strawberryhunter
    strawberryhunter 継承に限定すれば主張は正しいのだけど、現代的な解釈ではOCPは委譲、DI、プラグインも含んで良いはず。あらゆる拡張を想定することは不可能なので、想定の範囲内でYAGNIとバランスを取れって話に落ち着くだろう。

    2025/02/20 リンク

    その他
    prograti
    Event Busとかよく使うけどああいうのはOCPとは言わないのかな?

    その他
    p_tan
    p_tan 開放閉鎖原則って、ソート関数に比較関数渡せるようにするとかが具体例だと思ってるので、重要ではなかろうか。最近の例だとLLMモデルの仕様が決まっててOllamaで好きに切り替えられるのもOCPの具体例じゃないのかな

    2025/02/20 リンク

    その他
    toropicana7x
    継承に固執した古典的解釈と現代の抽象化プラクティスを混同し、OCPの本質的な価値(変更の局所化)を見落としている

    その他
    mynz
    mynz open-closed-principal って puig-in とか add-on の実現みたなことで、そこら辺に多用されてるんとちゃうんかと。

    2025/02/20 リンク

    その他
    turanukimaru
    例えば書籍アプリを作る場合、複数の出版社や取次、映像やゲーム会社とのキャンペーンの連携なんかが発生するので閉じてないとすぐクソコードになる。内部データ構造にせず出版社ごとにテーブルを作ったりとかね。

    その他
    trace22
    「原則」として学ぶ必要がないというのならば同意。その発想をなくすべきであるというのならば反対。

    その他
    henno
    開いてるのに閉じてるってオートポイエーシスかよ(かよ)

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    開放閉鎖原則(open-closed-principle)ってもはや意味ない - きしだのHatena

    SOLID原則というのがあるのだけど、原則といつつ やりすぎに注意なみたいなことを言われ、自分で塩梅を...

    ブックマークしたユーザー

    • knj29182025/03/06 knj2918
    • shivaduke282025/02/25 shivaduke28
    • zu22025/02/22 zu2
    • karur4n2025/02/21 karur4n
    • e10kg2025/02/21 e10kg
    • jwilliamsVE5VE2025/02/20 jwilliamsVE5VE
    • gonerdog2025/02/20 gonerdog
    • locke-0092025/02/20 locke-009
    • ura_ra2025/02/20 ura_ra
    • vimlover7232025/02/20 vimlover723
    • satsu_any2025/02/20 satsu_any
    • longyang2025/02/20 longyang
    • zakisanbaiman2025/02/20 zakisanbaiman
    • jamalen2025/02/20 jamalen
    • secseek2025/02/20 secseek
    • mas-higa2025/02/20 mas-higa
    • ha-te-na-9212025/02/20 ha-te-na-921
    • quodius2025/02/20 quodius
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む