タグ

oopに関するfukkenのブックマーク (8)

  • Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その1) - 達人プログラマーを目指して

    昨日書いたSI業界(日)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指してが予想以上に大きな反響があり驚いています。特に、あの有名なひがさんにもSI業界の現状と未来に関してコメントをしていただきました。(SI業界からはさっさと抜けだしたほうがいい) ただし、SI業界の今後がどうかということや新しいサービスを使ったビジネスのことについては、私自身最先端技術に十分にキャッチアップできておらず、自分の考えを整理できていないため、一旦考えないことにして、ここでは例の試験問題の設計とリファクタリングについて考察してみたいと思います。具体的な例に基づいて説明することで、オブジェクト指向がSI業界の多くの方々に考えられているほど理解不能なものなのではなく、問題を単純化し、プログラムの保守性を桁違いに向上させるうえできわめて重要な役割を果たすということ

    Javaプログラミング能力認定試験課題プログラムのリファクタリングレポート(その1) - 達人プログラマーを目指して
  • SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して

    私自身は10年以上も前(JDK1.1の頃)にSJC-Pの認定を取って以来、Javaプログラミング関連の認定試験は受けていないのですが、昨日たまたまネットを検索して、SJC-Pとは別にJavaプログラミング能力認定試験という試験が存在していることを知りました。結構メジャーな認定試験のようですので、現役のJavaプログラマーJavaプログラマーを目指している学生さんで、今後受験に向けて勉強されている方々も多くいらっしゃるのではないかと思います。 試験は難易度に応じて3級から1級までランクが分かれており、2級まではJava言語の知識に関する筆記試験ですが1級の試験では実際のプログラムの修正を行う能力が実技試験として課せられます。試験範囲は以下で公開されています。 Javaプログラミング能力認定試験(試験範囲) 私は(自分で言うのも変ですが)、Javaプログラミングについてはこの道15年近くのキ

    SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して
    fukken
    fukken 2011/01/11
    ソースコードを実際に落として自分の目で見る、自分の手を動かす者だけがSヨ業界に石を投げなさい
  • [PHP5] OOPで掲示板を作ってみる – Step4: ログの表示

    オブジェクト指向プログラミングでフレームワークを使わずに掲示板作成その4。 書き込んだ内容を表示して初めて掲示板となるのだ!フーハハー 目次 序章 Step1 : MVCを揃える Step2 : テンプレート作成 Step3 : 書き込み Step4: ログの表示 ← 今ここ Step5: 設定ファイルと細かな修正 Step6: 編集&削除画面 Step7: 編集&削除機能 Step8: ページング このエントリーで掲示板の基完成。 Step3で書き込み出来るようになったからログを読み込んで掲示板っぽく表示させるよ! ログもメッセージと同じでModel→Controller→Viewと流す。 ログの読み込み CSVだからfgetcsv使う。 ソースはマニュアルの例文をちょっと変えて使わせてもらう。 lib/model.php (class Model) /** * ログファイルからログデ

    [PHP5] OOPで掲示板を作ってみる – Step4: ログの表示
    fukken
    fukken 2010/10/18
    ログフォーマットがModelとLogに散っているのが好みに食わない。この掲示板をDBに移行する際に修正すべき個所が2クラスにまたがっている。でもいい記事
  • DCIが面白い件 - ヽ( ・∀・)ノくまくまー(2010-05-12)

    ● DCIが面白い件 DCI凄い!ヤバイ! 「DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien」(翻訳) http://d.hatena.ne.jp/digitalsoul/20100131/1264925022 前に読んだときは難しすぎて(長すぎて)途中で挫折したけど、今改めて読んだらDCIは凄いと気付いた。以下、まとめ。 今回、内容理解の決め手となったのは「前半部分を読まない」ことだった。 そんな無謀な読み方(読んでないのだけれど)をした私の理解なので、 もちろん間違いはあるはず。 という前提で、 ツッコミを入れる気満々なテンションでどうぞ。 古来からプログラムの中心は<データ>であった なぜなら、それが設計の中で一番変化しにくい要素(箇所)であるから そして、<データ構造>とそれに対する<処理>の2つで考えるようになった (手続き型

  • MVCとPAC - noopな日々

    Presentation-Abstract-ControllerとModel-View-Controllerについてさらっと言及 MVCアーキテクチャはある程度の規模になると限界が訪れる。 http://c2.com/cgi/wiki?RecursiveModelViewController http://d.hatena.ne.jp/noopable/20090127/1233014697 この、1999年の記事でPACについて触れられているが、PACはMVCのスケール問題、その他を解消しうる。MVCでも、RecursiveMVCでMVCに階層構造を持ち込んで解決するという方法もあるらしい。 http://www.asahi-net.or.jp/~dp8t-asm/java/articles/OOAD/article.html#fig:pac 似たようなことは誰でも一度は考えることだろう

    MVCとPAC - noopな日々
  • Strategic Choice

    Problemこのクラスは大きすぎて、もうこれ以上大きくしたくありません。「単一責務の原則」を適用してクラスを分割しようと思います。分割の具体的な方法がわかりません。Strategy「クラスの抽出」を適用します。どんなとき?「単一責務の原則」を適用してクラスを分割しようと思います。責務を把握したので、分割の実装を行いますが、具体的な方法がわかりません。どうする?「クラスの抽出」リファクタリングを適用します。ほとんどのレガシーシステムにおいて、最初にできることは、「実装レベル」で単一責務の原則を適用することです。つまり、大きなクラスから「クラスの抽出」をして、抽出クラスに委譲することです。「インタフェースレベル」で単一責務の原則を導入するには、より多くの作業が必要です。クラスの呼び出し側を変更しなければならず、テストも必要になります。まず、実装レベルで単一責務の原則を導入しておくと、将来イン

  • 何をクラス分割の指針とすべきか - 岩本隆史の日記帳(アーカイブ)

    最近なんとなく: クラスの保持するインスタンス変数をなるべく少なくする インスタンス変数を使わないメソッドをクラスに含めない ようにすれば適切にクラス分割できるんじゃないかと考えていました。 今日「凝集度と結合度:このコードのどこが悪いのか? - ITmedia エンタープライズ」という記事を読み、基的にこのような考え方で間違いなさそうだと自信が持てました。 LCOM(Lack of Cohesion in Methods) その記事では、いわゆる凝集度(の欠乏度)の測定手法として、LCOM(Lack of Cohesion in Methods)という計算式が紹介されています。インスタンス変数の数、メソッドの数、そして各インスタンス変数にアクセスするメソッドの数を用いて、計算結果が0に近いほど凝集度が高いクラスとみなす手法です。 記事に掲載されている凝集度の低いクラスの例はこういうもの

    何をクラス分割の指針とすべきか - 岩本隆史の日記帳(アーカイブ)
    fukken
    fukken 2009/06/01
    私は分割よりも、SampleClassからA,Bに委譲する形に組みなおす事の方が多い。インスタンス変数の一部にしかアクセスしない、かつややこしいメソッドが多数あるけど、1-4全部使うメソッドもあったりする時とか
  • Perl%u30AA%u30D6%u30B8%u30A7%u30AF%u30C8%u6307%u5411%u30D7%u30ED%u30B0%u30E9%u30DF%u30F3%u30B0

    fukken
    fukken 2006/04/17
    PerlでOOP
  • 1