タグ

オブジェクト指向に関するkayamelo151515のブックマーク (3)

  • オブジェクト指向の呪いと、その避け方 - mizchi's blog

    このテーマで書く前に、まず、最初に自分に多少の偏りがあることを認めておかなくてはなりません。 オブジェクト指向より、関数指向寄り オブジェクト指向のアプローチは有用だが、ただしそれを実現する手段はクラスと継承ではない。 階層化されたツリー構造(GUI/リレーショナルな参照構造)に埋め込まれる状態はコード品質を悪化させるので、できるだけ出現するべきではない。 ただし、状態は確実に存在する。だからこそ慎重に扱うべきだ、という派閥です アンチパターン: 特に理由もないクラスメソッドへの所属 何かのバリデータを実装したいとします。 その関数がどこに所属するかについて、よく見るこれらの実装は全部アンチパターンといっていいと思います export class Validator { static validate() {...} } export class Validator { validate(

    オブジェクト指向の呪いと、その避け方 - mizchi's blog
  • オブジェクト指向と関数型で副作用の扱いが違うって知ってた?(2021年版) - セカイノカタチ

    (2021/2/23 加筆訂正。文章を見直して現在の結論を追記しました。文意は変わっていません) 最近、オブジェクト指向と関数型を比べる人が多くなってきたみたいなんで、自分の考えをまとめてみます。 まず、件ですが、壮大なテーマだと思いますので、全体を網羅して書くのは難しいです。 なので、主眼を絞ります。 主眼は、ズバリ「副作用」です。 副作用とは、薬なんかだとその薬が目的とする「作用」に付随してくる好ましくない「作用」の事を指します。 例えば、風邪薬を飲むと「眠くなる」とか、タミフルを飲むと「ベランダから飛び降りたくなる」*1。 副作用によって、プログラム全体の動作が複雑になり、わかりにくくなるため、最近のプログラマー達の議論では「副作用は悪」であるということでコンセンサスが取れているようです。 関数型言語と副作用の戦い 関数型言語における、対副作用兵器は「参照透明性」です。 関数から、

    オブジェクト指向と関数型で副作用の扱いが違うって知ってた?(2021年版) - セカイノカタチ
  • Google流 JavaScript におけるクラス定義の実現方法

    目次 2019年追記 はじめに クラス実現のために必要な JavaScript の言語仕様 function this call new 演算子 prototype チェーン プロパティ: prototype Google Closure 流のクラスの実現方法の概要 クラスの宣言とコンストラクタの定義 メンバ変数 (インスタンス変数) メソッド定義と呼び出し private, protected 継承 プロトタイプチェーンを利用してメソッドを親クラスから引き継ぐ 親クラスのコンストラクタの呼び出し メソッドオーバーライドと親クラスのメソッドの呼び出し 多重継承 abstract, interface inherits の実際のコード 良くないクラス実現方法 ES6 のクラス 2019年追記 この記事ではclassが導入されたES6以前のJavaScriptでどのようにクラスに相当するものを

  • 1