タグ

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

  • 関連タグはありません

タグの絞り込みを解除

javaとProgrammingとprogrammingに関するsnomofのブックマーク (4)

  • クラス設計に関するメモ

    経験的にこのようにした方がよいと思った点についての記録です。 仕事で大規模(2000クラス超)かつ製品寿命がながいパッケージソフトを作っていた関係で、 ちょっとした設計の間違いが、 あとあとで大変な苦労する羽目になったりすることを経験してきました。 このような規模が大きいアプリケーションを作ることはなかなかないかもしれませんが、 なにかの参考になれば、と思います。 継承する前に委譲を検討する Singleton パターンを使うときの注意 Template Method パターンを使うときの注意 クラス間の依存に関する注意 クラスの粒度 Singleton の問題を回避できるか? 継承する前に委譲を検討する 継承はスーパークラスの仕様をよく理解しておかないと、 バグを作りこみやすいので十分注意する必要があります。 メソッドのオーバーライドをするときも、 public void foo(){

  • Androidの仕組みを知る(1)

    遂に日でもAndroid携帯が発売された。注目を集めているAndroidとは,一体何なのか,パソコンに移植するためにはどのような作業が必要なのか,アプリケーションを開発するにはどうするのか解説する。 Androidは,米Google社が開発し,携帯電話関連の業界団体であるOHA(Open Handset Alliance)が2007年11月に発表した,ソフトウエア・スタック(複数層で構成するソフトウエア群)である。 Androidを構成するソフトには,携帯端末向けに改良されたLinuxカーネルとミドルウエア,アプリケーションの実行環境,開発環境であるアプリケーション・フレームワーク,アプリケーション,がある。 Androidは携帯端末用として開発されているものの,適用範囲は携帯端末にとどまらない。Androidが現在対応しているCPUは英ARM社のARM系と米Intel社のx86系の2種

    Androidの仕組みを知る(1)
  • Androidの仕組みを知る(2)

    Android Runtime 次いで,アプリケーションの実行環境「Android Runtime」を解説する。Android Runtimeは,仮想マシン「Dalvik VM」と,基的なAPIを提供するコア・ライブラリで構成される。 Androidのすべてのアプリケーションは,Dalvik VM上で動作する(図4)。Dalvik VMは,Java VMと同様,メモリー管理をガベージ・コレクタ*が担当している。開発者がメモリーの確保と解放を明示的に実行しないでも,メモリー・リークによる深刻なシステム破壊を防いでいる。 加えて,JavaからC/C++を呼び出すAPIのJNI(Java Native Interface)にも対応している。CやC++で書かれたネイティブのコードが実行可能となっている。 Dalvik VMのアーキテクチャは,“レジスタ・ベース”を採用している。レジスタ・ベースは

    Androidの仕組みを知る(2)
  • Androidの仕組みを知る(3)

    最後に,アプリケーションが実行されるときのAndroidの内部的な動きを解説しよう。電話帳,カメラ,カレンダなど,Android携帯のユーザーが実際に操作するプログラムは,すべてこのアプリケーション層に入る。 Androidでは,特別扱いのアプリケーションはない*2。つまり,フレームワークが提供するAPIはすべて第3者に公開されている。開発者はどんなアプリケーションでも開発でき,多くの開発者がさまざまなアプリケーションをリリースしている。 ここでは,Android用のアプリケーション配信サービスである「Android Market」から入手できる2つのアプリケーションを紹介する。これらのアプリケーションがAndroid内部で具体的にどのように動作しているのかを説明する。 ●ポケットスケッチ ポケットスケッチは,タッチパネルを使い,指でなぞるだけで絵が描ける簡易ペイント・アプリケーションだ(

    Androidの仕組みを知る(3)
  • 1