題名にあるようにデザインパターンに関して記載していきます。
参考にするのはアンドロイド・デベロッパーサイトです
事の発端
前回、Java Basicと称して、Androidアプリの開発に使用するJavaの基本に関して記載し始めることにしました。
しかし、フレームワークとしてAndroidを見て見るとどうしても「デザインパターン」というものに出くわしてしまいます。なのでここら辺を穿って行こうと思いました。
デザインパターンとは?
「こんな感じで実装するとクールだ!」というものが「〜パターン」という形で表現されています。
代表的なものにGOFのデザインパターンというものがあります。早い話が以下のようなものです。
クラスの継承をうまく使ってこのデザインパターンという実装方法を行うことで、余計な処理を作成しなくてよくなります。
このデザインパターンを理解するとAndroidの開発も楽になります。というかすでに使用されているのでどんなデザインパターンを使用しているのか?を明確にするとあとが楽です。
推奨されるデザインパターン
・依存性の注入(DI)インタンスを「new」演算子を使用しないで取得します。
・サービスロケータ・パターン: これは DIと似たようなものらしいですが、DIより簡単らしいです。
調べた結果
結局のところはMVCモデルと同じような形で作成されているようです。
ここに「どのデザインパターンを使おうか?」という疑問が出てきて、「どれを使おうか?」と話を進めていくようになりそうです。
つまり、アーキテクチャは下のようになっているのでそこにどのようなデザインパターンを使用するか?というところがキモになりそうです。
Androidのアーキテクチャ
- Activity(Fragment)を基準(スタート地点)にして
- 読み込む画面(ViewModel)のデータ(layout.xmlに書いたデータ)を表示してから
- Repository(データアクセスモジュール)で必要なデータをデータソース(DBなど)から取得する
こんな感じで実装するようです。「アーキテクチャ」というのは実装するときの「思想」とか「概要(フレームワーク)」という意味です。
このアーキテクチャにこのパターン
早い話が、上記のように考えると答えが見つけやすいであろうというところです。
次回からは具体的にデザインパターンを使用する方向でコードを書きたいと思います。
でわでわ。。。。
Eclipse セットアップ
- Java Install Eclipse〜開発ツールのインストール〜
- TensorFlow C++環境〜EclipseにCDTをインストール〜
- Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
- Eclipse Meven 開発手順〜プロジェクトの作成〜
- Java OpenCV 環境セットアップ(on Mac)
- Eclipse SceneBuilderを追加する
- JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
Java Basic一覧
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜