2018年6月12日のブックマーク (4件)

  • 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+
    bisque3311
    bisque3311 2018/06/12
    オブジェクト指向設計
  • ポリモーフィズムをもっと理解する - 騒音のない世界 BLOG

    ポリモーフィズムはオブジェクト指向の3柱として「継承」「カプセル化」と共に語られることが多いですが、サブクラス化してオーバーライドして...というのはポリモーフィズムの一面にすぎません。この記事ではポリモーフィズムとは何なのかを説明すると共に3種類のポリモーフィズムを取り上げ、「ポリモーフィズム」という言葉を様々な角度から見ていきたいと思います。対象読者としては全くの初学者というよりも何となくポリモーフィズムは知ってて使ったりもするけどちゃんと説明できないとか、そういう人を考えています。 ポリモーフィズムを一言で説明する 3種類のポリモーフィズム Ad hoc polymorphism Parametric polymorphism Subtyping なぜポリモーフィズムか? その他の分野でのポリモーフィズム 生物学 物質科学 おわりに 参考 ポリモーフィズムを一言で説明する ポリモー

    ポリモーフィズムをもっと理解する - 騒音のない世界 BLOG
  • なぜオブジェクト指向は難しいのか - Qiita

    この記事の内容 この記事は「オブジェクト指向と10年戦ってわかったこと」という記事を書いた筆者が2年の時を経て「なぜオブジェクト指向は難しいのか」をテーマに、さらなるオブジェクト指向の理解を目的として、通常とは異なるアプローチでオブジェクト指向を解説したものです。 自然言語の限界 人は様々な物事に名前を付けて分類します。リンゴには「リンゴ」、車には「車」という名前を付けて分類、認識しています。そして車には「走る」という役割があり、それらの役割もまた名前をつけて分類し、認識しています。 しかし、このように自然言語を使って物事を識別しているのは人間であり、ゾウさんはリンゴを「リンゴ」という言葉に置き換えて識別したりしません。きっとゾウは「あ、これ前にべたらめっちゃ美味かったやつやん!もっかいったろ!」といった感覚によってリンゴを識別している。つまり、当たり前ですが言葉とは人間が作り上げたも

    なぜオブジェクト指向は難しいのか - Qiita
  • Lispの真実

    Leon Bambrick / 青木靖 訳 2006年9月24日 日曜 ここにLispの真実が明らかにされ、いくつかの代替が提示される。 Lispを学ぶことはあなたの人生を変える。 あなたの脳はすごく大きくなり、そんなに大きくなるものだとは思わなかったほどになるだろう。 あなたは自分のアプリケーションをすべて、ほんの一握りのコードで書き換えるだろう。 社会はあなたを避けるようになる。あなたも社会を避けるようになる。 あなたは自分のまわりの物やまわりの人すべてに不満を感じるようになる。 Lispは非常にシンプルであり、ほんの数分で学ぶことができる。私はさっきバスを待っている間に学んだ。 Lispは非常にシンプルであり、どんな言語を使おうと数ページのコードで実装できる。しかしそんなことをすることはないだろう。ひとたびLispを学んだなら、あなたはLisp以外の言語で何かを書こうとは思わなくなる