FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Javaライブラリから学ぶデザインパターン Flyweight

今回のエントリーでは、Flyweight パターンのJavaライブラリにおける適用例の紹介と、
コードリーディングをしてみます。
具体例を見ることにより、パターンのイメージを明確につかむことを目的とします。

続きを読む

スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

Javaライブラリから学ぶデザインパターン Adapter

今回のエントリーでは、Adapter パターンのJavaライブラリにおける適用例の紹介と、
コードリーディングをしてみます。
具体例を見ることにより、パターンのイメージを明確につかむことを目的とします。

続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

Javaライブラリから学ぶデザインパターン Composite

今回のエントリーでは、CompositeパターンのJavaライブラリにおける適用例の紹介と、
コードリーディングをしてみます。
具体例を見ることにより、パターンのイメージを明確につかむことを目的とします。

続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

Javaライブラリから学ぶデザインパターン Decorator

今回のエントリーでは、Decorator パターンのJavaライブラリにおける適用例の紹介と、
コードリーディングをしてみます。
具体例を見ることにより、パターンのイメージを明確につかむことを目的とします。

続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

プログラミングの学び方 ~模倣のススメ~

よく言われていることですが、プログラミングを学ぶ上で、
優れたコードを読み、真似て書いてみることは、相当スキルアップの効果があります。
始めたばかりの頃は特にです。

誰でも経験あり

今まで生きてきて何も真似たことがない
「自分はすべてにおいて完全にオリジナルである」
という人は恐らくいないでしょう。

そう誰もが真似て覚えた経験があるはずなのです。
プログラミングもそれと同じです。
真似してみるのが効果的なのです。

お手本は

さて、どのコードをお手本として真似するか。
私のおすすめは「広く公開されているコード」です。
つまり多くの人に読まれることを前提として書かれているコード。
これは綺麗に書かれている可能性が高い。(汚いものもある)

今はネットを探すと優れたオープンソースのコードがいくらでも転がっている。
これを使わせてもらわない手はないでしょう。

私の場合

私が始めて学んだプログラミング言語はJavaなのですが、
最初オブジェクト指向プログラミングというやつがサッパリわかりませんでした。

特にインタフェースに対しては
「お前は一体何の役に立つんだ。何もできないじゃないか。」
と不満を抱えていました。

Java標準ライブラリのコードが参照できることに気づいたのもその頃です。
「これはお手本にしてもいいよってことで公開されてるに違いない」
と勝手に解釈した私は、早速インタフェースを使ってるコードを読んでみました。

最初に読んだのはArrayListのコードです。
これは実装が気になっていたクラスで、かつJavaだけで完結しており※
コード量も少なかったのでお手本として丁度よかったんですね。
※コードを読んでいくとネイティブメソッドに行き着くクラス(FileとかReaderとか)が結構あり、
 動きを完全に追えないので当時ガッカリした。

そして折角なんで真似てArrayListを書いてみたら全然わからなかった
抽象クラスやインタフェースの使い方がわかってきた、というわけです。
オブジェクト指向に関する書籍を読むより余程よくわかりました。
この時私はコード自体が教師であることを学びました。
(コードが教師と書きましたが、悪い教師もいます。
 これはこれで反面教師として役に立ちますが、いすぎるとウンザリします^^;)

参考までに私がプログラミングを始めたばかりの頃お手本にしたものを一部挙げておきます。
  • Java標準ライブラリのCollectionフレームワーク(ArrayListやHashMapなど)
  • Apache Ant
  • Apache Struts
  • Apache Tomcat


「愚者だけが自分の経験から学ぶと信じている。
私はむしろ、最初から自分の誤りを避けるため、他人の経験から学ぶのを好む。」
初代ドイツ帝国宰相 ビスマルク



テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

Kenji Suzuki

Author:Kenji Suzuki
IT技術に関するあれこれを書いているブログです。
Pujohead Softの方では開発したソフトを公開しています。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
タグ

プログラミング デザインパターン コードリーディング bat 

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
メールフォーム

名前:
メール:
件名:
本文:

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。