ブックマーク / zenn.dev/rockname (2)

  • ViewModelのメソッド名はイベントを表す命名にしたいという話

    Viewから呼び出すViewModelのメソッド名は、例えば save のようなアクションを表す命名ではなく onSaveButtonClick のようなイベントを表す命名にしたい、という趣旨のお話です。 これには、「ViewはViewModelを操作する」のではなく、「ViewはViewModelへイベントを伝搬する」という責務を明確にしたいという意図があります。 具体例 例えば、プロフィール編集画面を例に考えてみましょう。 この画面ではユーザーのアイコン, 名前などを編集でき、保存ボタンを押下すると編集されたプロフィールが保存されます。 この保存ボタン押下時にViewModelの save メソッドを呼び出して、編集されたプロフィールを保存するとします。 ここで、入力されたプロフィール情報のバリデーション結果に応じてエラーのアラートを表示することを考えます。(ボタン押下前にバリデーショ

    ViewModelのメソッド名はイベントを表す命名にしたいという話
    yug1224
    yug1224 2022/10/19
  • Androidのアーキテクチャガイドから学ぶ、UIの状態管理手法

    2021年末頃にAndroid公式ドキュメントにある アーキテクチャガイド が大幅にアップデートされました。 今回はその中でも UI Layerについての章 を取り上げて、アプリにおいてUIの状態をどのように管理するのが適切かについてまとめます。 UIとは? そもそも UI とは、TextやButtonのような視覚的に表現される UI Elements に、ユーザーが目にするべきアプリの状態を示す UI State を反映することで構築されています。 状態とイベントの管理 UI Stateはユーザーインタラクションなどのイベントの発生によって、時間と共に変化していきます。 各イベントを適切にハンドリングしつつ、Data Layerから渡ってきたデータを適切な形に変換する必要があります。 これらをUI Elementsで行うことも可能ですが、責務が集中して複雑度が増し、手に負えなくなっていく

    Androidのアーキテクチャガイドから学ぶ、UIの状態管理手法
    yug1224
    yug1224 2022/03/23
  • 1