タグ

関連タグで絞り込む (277)

タグの絞り込みを解除

oopに関するkiyo_hikoのブックマーク (216)

  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    Google Sites: Sign-in
    kiyo_hiko
    kiyo_hiko 2013/07/04
    めんどくさそう
  • 存在しない記事 - 標高+1m

    ここにあった記事は消しました。 詳しくは以下: ympbyc.hatenablog.com

    存在しない記事 - 標高+1m
  • Best way to share logging object among multiple objects?

    kiyo_hiko
    kiyo_hiko 2013/06/04
    シングルトンにしようとかLog4Perl使おうとか。自前Logクラス既にシングルトンだしそのままでよさそ
  • newを封印して、JavaScriptでオブジェクト指向する(1)

    以下はプロトタイプ的継承だけで一通りの機能を実現できる、という一つの例です。もちろん他にも書き方はありますし、newを使うのがよくないと主張しているわけではないです。 (誤解を生みそうな文体が混じっているようなので追記: 2011/5/14) 春ですし、少し初心者向けの記事を書きます。タイトル通り、JavaScriptのオブジェクト指向について。ちょっと長くなるので目次です。 クラス(に相当するオブジェクト)を作る オブジェクトからオブジェクトを作る(インスタンス化) 単一継承 多重継承 privateは諦めましょう 親のメソッドを呼ぶ コンストラクタ instanceofに対応する ダックタイピングのススメ JavaScript標準のオブジェクト指向といえばnewやらprototypeやらを書く必要がありますが、これらは書くのが面倒臭い上に気をつけないといけない点がたくさんあります。Ja

    newを封印して、JavaScriptでオブジェクト指向する(1)
    kiyo_hiko
    kiyo_hiko 2013/06/03
     JavaScriptJavaScriptJavaScript  

    js

    oop
     
  • 開放/閉鎖原則 - Wikipedia

    開放/閉鎖原則(かいほうへいさげんそく、open/closed principle、OCP)とは、オブジェクト指向プログラミングの設計への提言である。 ソフトウェア要素(クラス、モジュール、関数など)は、拡張に対しては開いており、修正に対しては閉じているべきである。 software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.[1] この原則に従っていれば、ソースコードの修正をせずとも、各要素の振る舞いを拡張することが可能になるとしている。 この開放/閉鎖の原則は、1988年にバートランド・メイヤーが提唱したものと、1996年頃にロバート・C・マーチン(英語版)らが提唱したものの二通りがある。どちらも継承やポリモーフィズムによる

    kiyo_hiko
    kiyo_hiko 2013/05/03
    最近?はバートランド・メイヤーからはいくぶん意味が変わっていて、インターフェースを重視しているらしい // b:id:entry:140386206がそういう話だった。
  • ダック・タイピングのメリット - OKWAVE

    > ダック・タイピングのメリットを教えてください。 メリットはリンク先に書かれている 「オブジェクト(変数の値)に何ができるかはオブジェクトそのものが決定する」ではないでしょうか。 リンク先のRubyスクリプト例で言えば、testの引数に与えられるオブジェクトにsoundというメソッドが在りさえすれば、それに応じた戻り値を返すということです。 > 「オブジェクトがあるインタフェースのすべてのメソッドを持っているならば、(以下略)」 については以下のようなスクリプトでは如何ですか def test(foo) puts foo.sound end class Duck def sound 'quack' end end class Cat def sound 'myaa' end end dog = String.new("pochi") def dog.sound 'bow' end tes

    ダック・タイピングのメリット - OKWAVE
    kiyo_hiko
    kiyo_hiko 2013/04/16
    State数十個持った辺りで既にあひる型は各クラスのチェックが死ぬほどめんどくさく、メリット感じない // 基底クラスに派生クラスでのオーバーライドを強制する的な注釈を書いとくとチェックするスクリプト作ってみるか
  • Javaクラスの継承で独立したstatic変数を使いたい - OKWAVE


     Ex1.str = "hoge"; Ex2.str = "moga";  Ex1 ex1 = new Ex1(); ex1.str = "hoge"; 使      ClassMappublic abstract class AbstractStatic { private static java.util.HashMap<
    Javaクラスの継承で独立したstatic変数を使いたい - OKWAVE
    kiyo_hiko
    kiyo_hiko 2013/04/12
    static変数を持ったクラスを継承するためstaticなHashMapにClassをキーにして値を格納 これいい
  • perlの最新版の機能の読み方-blog-Motivation Driven Development

    perlの最新版の機能の読み方-blog-Motivation Driven Development

    kiyo_hiko
    kiyo_hiko 2013/04/05
    ここと同じ問題にぶつかった Perlのオブジェクト指向はいちいちやりにくい
  • デザインパターンの自動化

    .NETで簡単な例を見てみましょう。 public Person : INotifyPropertyChanged { string firstName, lastName; public event NotifyPropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { if ( this.PropertyChanged != null ) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public string FirstName { get { return this.firstName; } set { this.firstName

    デザインパターンの自動化
  • Facade パターン - Wikipedia

    Facade パターンあるいは Façade パターン(ファサード・パターン)とは、GoF(Gang of Four; 4人のギャングたち)によって定義された、コンピュータソフトウェアのデザインパターンの1つである。Facade(ファサード)とは「建物の正面」を意味する。異なるサブシステムを単純な操作だけを持ったFacadeクラスで結び、サブシステム間の独立性を高める事を目的とする。 概要[編集] Facadeパターンの例として、サブシステムとしてのコンパイラーを考える。システムとしてのコンパイラーは字句解析器や構文解析器などから構成されている。これらの構成要素は、新たなコンパイラーやその他ソフトウェアを作成する上でサブシステムとして利用することが出来る。しかし、一般ユーザーにとってコンパイラーはソースコードからプログラムを生成するためのものであり、ソースコードをコンパイルできる機能があれ

    Facade パターン - Wikipedia
    kiyo_hiko
    kiyo_hiko 2013/02/18
      1.Facade2.Facade (3.) Facade使3.Facade  

    facade

    gof

    oop
     
  • Excel VBAではじめるクラス入門


     Visual Basic使OfficeVBAOffice1VBA 稿Excel 2003VBA  Excel VBA使Visual Basic使  Excel 200020022003使 便 VBA1
    Excel VBAではじめるクラス入門
  • ポリモーフィズム


       polymorphismpoly        Object  Implements    Implements  Implements    
    kiyo_hiko
    kiyo_hiko 2013/02/06
    VBAでのインターフェースらしいもの。Implementsで実装を宣言するみたい
  • Constructor for VBA class module.

    Constructor for VBA class module について 目的 VBA のクラス モジュールにおいて、引数を渡すことのできる擬似コンストラクタを提供します。 使い方 対象のプロジェクトに以下の二つのモジュールを作成します(他のモジュールはテスト用なので、不要です)。 IConstructor (クラス モジュール) modConstructor (標準モジュール) 対象のクラスモジュールのヘッダーに、以下のステートメントを貼り付けます。 Implements IConstructor VBE の [オブジェクト] ボックスから「IConstructor」を選択し、挿入されるコンストラクタ用プロシージャ内に初期化用の処理を記述します。 呼び出す側は、以下のように記述します。 Set var = Constructor(New MyClass, "Doe, John", #5

    Constructor for VBA class module.
  • ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation

    ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation

    ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
  • [jfriends:00492] Re: Java プログラマーのための Perl 入門 ?

  • Java/欠点 - PukiWiki

    null はオブジェクトでない † null は参照値 (reference value) なので == != による比較はできる。 しかし null はオブジェクトではない。そのため,いちいち if (obj == null) と条件判定をしなければならない。 これは,あたかも,ポリモルフィックなメソッドにおいて (クラスの違いによるディスパッチをせずに)instanceof による場合分けをするようなもので, コードの美しさを損なう→シンプルでなくなる→保守が困難になるという滝壺に落ちていく誘因となる。 純粋なオブジェクト指向プログラミングの観点からは, Null クラスに唯一のオブジェクト null が用意されている とすればよかっただろう。 いくつかのオブジェクト指向言語を比較すると,この方法が最も美しく感じられる。 Java でも同等なことができないことはない。たとえば stat

    kiyo_hiko
    kiyo_hiko 2013/02/04
    メソッドが総称関数ではなくクラスに属してしまうから多重ディスパッチができない。ダブルディスパッチ、Visitorパターンを使う必要がある。
  • リスコフの置換原則 - Wikipedia


     202112 202112 202112 202112 ?: ""   ·  ·  · CiNii · J-STAGE · NDL · dlib.jp ·  · TWL 2010 : Liskov substitution principle
    リスコフの置換原則 - Wikipedia
    kiyo_hiko
    kiyo_hiko 2012/12/19
    なるほど。例外も当然同じ型か、派生型を投げなければLSPが危うくなる 派生型であれば派生した例外もLSPを満たせば透過的に処理できる。
  • Java開発者必修! ソフトウェア・パターン専科 ソフトウェア・パターンへのいざない | ウルシステムズ株式会社

    はじめに ソフトウェア・パターンという言葉を聞いたことがあるだろうか。ソフトウェア・パターンの中ではデザイン・パターンが有名であり、すでに実際の開発現場で適用されている方も多いと思われる。 デザイン・パターン以外にも多くのソフトウェア・パターンが存在しているのだが、残念ながら、デザイン・パターン以外のパターンについてはあまりよく知らないという方が多いのではないだろうか。 ソフトウェア・パターンに関する知識は、我々ソフトウェア開発者にとって、今後ますます重要になってゆくであろう。 連載では、ソフトウェア・パターンについて学びたい読者や、デザイン・パターンは知っているけれど他のパターンについてはあまり知らないという読者を対象に、さまざまなソフトウェア・パターンについて解説していく予定だ。 ソフトウェア・パターンとは そもそも、ソフトウェア・パターンとは何だろうか。ひと言でいえば、ソフトウェア

    Java開発者必修! ソフトウェア・パターン専科 ソフトウェア・パターンへのいざない | ウルシステムズ株式会社
    kiyo_hiko
    kiyo_hiko 2012/12/19
    Yes OCPちょう大事
  • - Open-Closed Principle とデザインパターン

    1999/09/03 更新 石井 勝 さて,このセクションではデザインパターンを統一的に理解するために,「 Open-Closed Principle (OCP) 」 という設計ルールに基づいてパターンを眺めてみることにします.まず OCP の意味と解説を行い,その後デザインパターンを OCP の観点から見てみます.実は,デザインパターンのうちの多くは OCP を満たすために用意されたものと考えることができるのです.このセクションでは, OCP を理解し,数あるデザインパターンの中からどういう場合にどのパターンを使うのが一番効果的なのかを考えます. GoF のデザインパターンは,全部で 23 個ものパターンがあります.このデザインパターンは,多くの局面で繰り返し現れる設計を抽出したものですから,オブジェクト指向のエッセンスを集めたものだと言えるでしょう.オブジェクト指向には,カプセル化,継

    kiyo_hiko
    kiyo_hiko 2012/12/11
    なるほ OCPを維持しつつ何らかの柔軟性を得るために、いくつかのGoFパターンがあるという見方
  • syboos.jp

    kiyo_hiko
    kiyo_hiko 2012/11/16
    パターンや原則まとめ