タグ

2018年6月26日のブックマーク (10件)

  • 「現場で役立つシステム設計の原則」批判 (1) ~何のために、「データとロジックを一体に」するのか?~

    増田亨氏の「現場で役立つシステム設計の原則]」の評判が高いようです。 このが、オブジェクト指向の初級者に受け入れられ易いことはわかります。オブジェクト指向的なプログラミングが出来ていない現場で、明日からでも出来そうなことが平易に書かれているからです。オブジェクト指向の入り口を指し示しているように見える。 一方で、私としては、このが指し示す入り口は、入りやすいかもしれないけれど、結局はどこにも通じていないのではないかと疑っています。 稿では、そのように私が考える理由について、3つの切り口からご説明したいと考えています: 何のために、「データとロジックを一体に」するのか?ポリモーフィズムは何のために?「ドメインモデル」とは何か?長くなるので、今回は、一番目の「何のために、『データとロジックを一体に』するのか?」について。 批判 (1) 何のために、「データとロジックを一体に」するのか?

    「現場で役立つシステム設計の原則」批判 (1) ~何のために、「データとロジックを一体に」するのか?~
  • オブジェクト指向とは何だったのか? – ゆびてく

    オブジェクト指向とは何だったのか? – ゆびてく
  • オブジェクト指向の問題点 - ビスケットのあれこれ

    オブジェクト指向プログラミングを神格化するような記事が流れてきたので,僕が知っている問題点について書いてみたいと思います.僕がまだ学生だったころは,オブジェクト指向の評価もまだそれほど定まっていなくて,オブジェクト指向の次はどんなパラダイムが出てくるかとか普通に学生レベルで議論していたものですが,ここまで強大になってしまうとそれを打ち負かそうなんて気にはならないのでしょうか.僕にはオブジェクト指向が普遍的な真理という感じは全然しなくて,ここまで使われてる理由は,現実的なテクノロジーで大きなシステムを作らなければならない必要性のほうを優先した結果であると認識しています.オブジェクト指向がその後の25年ほどもずっと安定してその地位を保てるほど素晴らしいものとは思えないのです. 以下で上げる問題点は,個別に解決している研究はあったりしますし,僕も論文を書いたりしましたけど,実際の言語に導入されて

    オブジェクト指向の問題点 - ビスケットのあれこれ
  • オブジェクト指向設計の原則 - それはBooks

    アジャイルソフトウェア開発の奥義」を読んで第二弾。オブジェクト指向設計の原則に関するメモです。自分で読んで思い出せるくらいの内容しかメモってないと思われるので、もっと詳しい解説が欲しければ書を買ってください。 書には、クラス設計の原則として5つの原則が載っています。 単一責任の原則 (The Single Responsibility Principle: SRP) オープン・クローズドの原則 (The Open-ClosedPrinciple: OCP) Liskovの置換原則 (The Liskov Substitution Principle: LSP) 依存関係逆転の原則 (The Dependency Inversion Principle: DIP) インターフェース分離の原則 (The Interface Segregation Principle: ISP) パッケー

    オブジェクト指向設計の原則 - それはBooks
  • 本には書いてないオブジェクト指向 | そるでぶろぐ

    ソリューション開発部の田中です。 普段の仕事の中で疑問を覚え、さまざまな書籍やサイトにあたったけれども見つからない・・・そんな「今まで無かった!」オブジェクト指向の原理原則を紹介いたします。オブジェクト指向言語を使う開発者の方や、ソフトウェアの保守性を高めたい管理職の方にお勧めします。

    本には書いてないオブジェクト指向 | そるでぶろぐ
  • 【本には書いてないオブジェクト指向③】責務はクラスではない | そるでぶろぐ

    ソリューション開発部の田中です。 ここに書いたのは、私が設計・実装したJavaのフレームワーク開発を主に通じて理解したオブジェクト指向の原理原則です。 私は単なるエンジニアであって学者や研究者ではない上に、オブジェクト指向について誰かから教わった経験も無いため、ここに書いてある内容は科学的に吟味されたものではありません。 しかし、普段の仕事の中で気付いた合理性のある内容だと考えています。オブジェクト指向言語を日常使ってはいても、オブジェクト指向そのものをみっちりと学習したことがない人にとって特に役立つ内容だと思います。 前回の記事はこちら。 責務でクラスは決まらない「責務」によってクラスが定義されるといくつかの解説書には書いてありますが、これは誤りだと私は考えています。誤りが言い過ぎだとしても、大きな誤解を与えています。 責務という言葉を言い換えると しなければならないこと出来なければなら

    【本には書いてないオブジェクト指向③】責務はクラスではない | そるでぶろぐ
  • SOLID: Part 1 - The Single Responsibility Principle | Envato Tuts+

    Single Responsibility (SRP), Open/Close, Liskov's Substitution, Interface Segregation, and Dependency Inversion. Five agile principles that should guide you every time you write code. The Definition A class should have only one reason to change. Defined by Robert C. Martin in his book Agile Software Development, Principles, Patterns, and Practices and later republished in the C# version of the boo

    SOLID: Part 1 - The Single Responsibility Principle | Envato Tuts+
  • オブジェクト指向設計原則とは - Qiita

    はじめに オブジェクト指向の設計原則を説明します 勉強内容のアウトプットです 単一責任の原則 単一責任の原則は非常にシンプルな内容で、「1つのクラスに1つの役割(機能)」と言うものです。 これはカプセル化で強く言われる「小さなカプセル」ということに通じます。 ただ、この「1つのクラスに1つの役割」という考え方は正しいのですが、コレを正確に運用するのは非常に難しいです。運用が難しいというのは「1つのクラスに1つの役割」という言葉を指針としてしまうと思わぬ間違いを生むということです(言葉自体は正しいが、人間はアホなので間違っちゃうのです) そこで、クラスの妥当性をチェックするために別の角度から眺める必要が出てきます。この時の言葉が 「クラスを変更する理由が2つ以上存在してはならない」 という言葉です。この言葉は単一責任の原則の話で重要となる言葉ですので、覚えておいてください。 さて、あなたはあ

    オブジェクト指向設計原則とは - Qiita
  • 単一責任原則 | プログラマが知るべき97のこと

    単一責任原則著者: Robert C. Martin 「変更する理由が同じものは集める、変更する理由が違うものは分ける。」良いデザインの基原則を1つあげるとすればこれでしょう。 この原則は「単一責任原則 (Single Responsibility Principle :SR P)」と呼ばれています。これはつまり、1つのサブシステムやモジュール、クラス、関数などに、変更する理由が2つ以上あるようではいけない、ということです。1つ典型的な例をあげましょう。ビジネス ルール、レポート、データベースに関わるメソッドを持つクラスの例です。 public class Employee { public Money calculatePay() ... public String reportHours() ... public void save() ... } 3つのメソッドが1つのクラスに集め

    単一責任原則 | プログラマが知るべき97のこと
  • 組み込みと Pimpl イディオム | 組込屋

    2017年12月27日2020年1月17日 Pimpl イディオムと呼ばれるテクニックがあります。イディオムとは「慣用句」とか「言い回し」といった意味の単語で、要するにパターンのことです。 正直に言うと、私はこのテクニックが嫌いです。どうやってもソースコードを汚すことになるし、その犠牲によって得られる恩恵が大したものに思えない。特に組み込みでは。 しかし最近、これをうまく使っている人を見て、少しだけ考えを改めました。もしあなたがライブラリを提供する立場で、そのファイル構成をシンプルにして提供したいと思うのであれば、Pimpl イディオムを局所的に使うことには一考の余地があります。 メリットとされていること Pimpl とは “Pointer to Implementation"、つまり「実装へのポインタ」から来ているプログラミング用語です。一度 “Pimpl" をググってみてください。大抵

    組み込みと Pimpl イディオム | 組込屋
    y_r
    y_r 2018/06/26
    "私が考える Pimpl の用途はただ一つ。インクルードの連鎖を断ち切って、ライブラリのユーザーに向けて、提示するファイルを絞り込むことです。"