表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
どこぞのプログラマの愚痴日記  作者: どこぞのプログラマ
57/141

構成について 結論

 これまでのことを考えると、InterfaceとView寄りControllerとModel寄りControllerってあった方が良いですよねという感じなんですけども。


 実はInterfaceの方も二種類ありますよね、というところ。


 ViewとControllerの方でも軽く触れましたけど、アプリ側/OS側とUser側のInterfaceですね。

 これも、完全に別物にすべきだと思ってます。


 というのも、UI操作というのがViewに紐付いた形になる場合が多いから。

 というか人間の操作というのはどうしても表示部分に対する操作になってくる事情があってViewというのが半Interfaceの性質を持った状態の言語というのも多いです。

 さらにいうと、Application/OSに対するInterfaceとUserに対するInterfaceだと当然ながら期待する動作も変わってきます。

 OS側なら多少Queueしても確実に動作するなら良いけど、User側なら即座にレスポンスを返さないと場合によってはバグに見えますしね。

 そしてUser側は動作のブレもある程度想定して許容しないといけない。


 そう考えると、そもそも同じInterfaceと言っても別物なんですよね、と。


 もっと言えばOS側は表示が一切なくてもsymbolなりAPIなりが存在してれば良いもののUser側は確実に目に見える必要がある。

 目に見えないと操作できないですからね。

 特にスマホとかだと。


 キーボードとか外部接続の操作用デバイスでもあるなら隠しコマンド的なものもつっこめなくはないですが、いやそれいつの時代のゲームだよということになってくる。

 今の時代のアプリケーションは全てのユーザに全ての機能を十全に使いこなさせないといけない訳です。

 使うか使わないかは置いておいて。


 閑話休題。

 まあ、そういういろいろを考えてみると最終的にこういう構成になってくるんじゃないかな、というのを。


 Application(Project)

  - Interface(OS側)

  - ViewController

   - View(UserInterface)

   - LayoutUtility(Colorとか)

  - ModelController

   - Model

   - ModelUtility(Queue関連とか)


 InterfaceからViewControllerに起動画面/ホーム画面表示の通知を送る。

 ViewControllerからはInterfaceに表示中のControllerを通知する。

 そしてViewに応じた必要なModelControllerを動作させる。

 操作はViewからViewControllerに通知されて、動作を確定する。

 動作を確定したViewControllerからModelControllerに処理実行を通知して、Modelに実行要求を送る。

 ページ遷移する場合には動作中のViewCotrollerから別のViewControllerを初期化してView生成が完了した通知を受け取って画面遷移を実行する。

 画面遷移を実行するときにはInterfaceに画面遷移を通知する。


 大まかな流れでいうとこんな感じですかね。

 特にページ遷移というのは繋がりがあって、基本的に特定ページには特定ページからしか遷移できないだろうという前提で語ってます。

 もし全ての画面からModalに表示したい場合だとかはViewControllerのBaseクラスでも作ってそっちに突っ込めば良いかな、と。

 ただBase作るなら可能な限りModelとは切り離した方が無難だと思います。

 要するに見えにくい処理の一つになってきますからね、Baseの動作って。


 まあ、そんな方法で開く画面なんてのは設定画面くらいかな、とは思いますけど。


 という形で、今現在私が思うアプリの構成というのはだいたいこういう感じです。

 他にExtraとかResourceとかそういうディレクトリはあっても良いと思いますけどね。

 というか一定規模を超えてくると普通に入れざるを得ない感じになると思いますけどね。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ