タグ

oopとaopに関するkiyo_hikoのブックマーク (6)

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

    .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

    デザインパターンの自動化
  • subtest と Hook::LexWrap を使って xUnit みたいな setUp, tearDown をする - tsucchi’s diary(元はてなダイアリー)

    発見したのは結構前なのですが、twitter でつぶやいても(これとかこれ)、あんまり(っていうか全く)反響なかったのでこっちにも書いておきます。 Perl でテストを書いているときに、xUnit の setUp/tearDown*1を使いたい場合、Test::Classを使ってテストを書いて、setup, teardown を使うのが一般的かな、と思います。こんな感じね。 #!/usr/bin/perl use strict; use warnings; use Test::Class; MyTest->runtests(); package MyTest; use parent qw(Test::Class); use Test::More; sub set_up :Test(setup) { diag("setup"); } sub tear_down :Test(teardown)

    subtest と Hook::LexWrap を使って xUnit みたいな setUp, tearDown をする - tsucchi’s diary(元はてなダイアリー)
    kiyo_hiko
    kiyo_hiko 2012/02/03
    Hook::LexWrap
  • - Excel VBA - Decorator パターンモデル

    1999/08/27 更新 石井 勝 概要 ここでは,Decorator パターンモデルという Excel プログラミングに関するアーキテクチャを解説します.これは,Decorator パターンをアーキテクチャレベルにまで拡張したモデルで,継承が使えない VB プログラミングで威力を発揮すると思います.まだ実験段階なので,このモデルが実用化できるかは今後の課題です. Excel プログラミングとは? Excel のプログラミングを一言で表すと,VBA プログラミングで Excel を拡張する,ということです.オブジェクト指向の立場で拡張といえば,継承ですね.したがって次のように任意の ExcelObject クラスを継承してプログラミングできればいいですね: 例えば Worksheet クラスから MyWorksheet クラスを継承すればいいわけです.そうすると望みのカスタマイズされたワ

    kiyo_hiko
    kiyo_hiko 2012/02/02
    Perlのコアモジュールのみだとメソッドのフックがうまいことできないので (Perlは一応Hook::LexWrapでフックはできる) 、Decoratorを作ってそちらを呼んで定型的な処理を割込ませることを考えた。余裕ができたらやってみる
  • 疎結合がソフトウェア開発を変える(1)

    図1●オブジェクト指向の問題点を解決する オブジェクト指向技術が浸透するにつれ,その問題点が明らかになってきた。これを解決するキーワードが「疎」である。 図2●部品化のメリット システムを分割してうまく部品化できれば,さまざまなメリットが生まれる。中でも重要なものは,同じ部品を他のシステムで再利用できること,変更を加えたときに影響が及ぶ範囲を部品内に限定できること,部品を別のものに入れ替えることでシステムの変更や拡張が容易になること,である。 オブジェクト指向言語の考え方が登場してから30年余。オブジェクト指向は,ソフトウェア開発の現場にようやく定着してきた*1。システム・インテグレーションの現場では「案件のほぼすべてが,オブジェクト指向開発」(日ユニシス・ソリューション AD CoE コンピテンスセンタ統括部長の川口真一氏)。「システムを発注する側が,設計情報をUML(Unified

    疎結合がソフトウェア開発を変える(1)
    kiyo_hiko
    kiyo_hiko 2011/05/20
    「コーディング規約など,プログラムを均質化するための約束事を,苦労して周知徹底させる必要がない」・・・良記事。OOPの本質は境界を閉じる事だと思う。閉じれない開発規約の下、まじめにOOPしたら疲れるだけだった
  • DIって本当に必要? - ひがやすを技術ブログ

    DIって当に必要?たまにそう思うときがあります。DIによって開発は当に楽になったのか。 DIのメリットでよく語られることとして、インターフェースと実装を分離し、機能の利用者側はインターフェースを通じて機能を利用することで、実装に直接依存しなくなり、後で実装を変更しても影響を受けなくなるということがあります。 実際後から、実装クラスを変更するということはめったにないので、よくあるのは、テストのために実装クラスをモックに変えることです。 でも、別にそれだけならDIContainerなんていりません。たとえば、次のようにServiceクラスに直接依存したClientがあるとします。 class Client { Service service = new Service(); void setService(Service service) { this.service = service;

    DIって本当に必要? - ひがやすを技術ブログ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 1