1

MVC 規約の VIEW クラスが Bean オブジェクトを取得して、そのテキスト表示を変更できるかどうかに興味があります。beanを自分の として扱うのmodelではなく、modelで使用できる Bean の状態を変更しVIEWます。要求に応じて、モデルは Bean のオブジェクトをコントローラーに渡し、コントローラーはそれをビューに渡します。これは悪いですか?

ここに私が意味するものがあります:豆:

    public class Bean{

    private String eventName;
    private String eventDate;
    //getters
    //setters

}

モデル:

public class Model {

Bean e = new Bean();
e.setEventOpportunity(rs.getString(7));
        e.setEventMoreDetails(rs.getString(8));
        e.setEndTime(rs.getString(9));



}

コントロール:

public class Control () {
public Control() {
Bean events; 
events = model.getEvent(tableClick); //tell model to change its state based on user input on views 
view.changeDisplay(events);
                    }

        }
        } 

ビュー:

     public class Views {
    public void editTextFields(Bean e) {
       try {
       txtEventName.setText(e.getEventName());
       String dateString = e.getEventDate();


       } catch(Exception te) {
           te.printStackTrace();
       }
   }



    }

そのような設計は、まだ mvc 規則を維持しています。データベースを扱い、そこに Bean プロパティを配置することでクラスが扱いにくくなるため、モデルを扱いにくくしたくありませんでした。

4

1 に答える 1

2

MVC の「エディターの不一致」にとらわれています。つまり、エディター/ビューとモデルがあり、どの情報をどのように公開するかについて 2 つの意見が一致していません。通常、エディター/ビューには、モデルが気にしない追加情報が必要です。

Model View ViewModel (MVVM)はこれを解決し、ソリューションはあなたのものとかなり似ています。

私が提案する唯一の変更は、「Bean の作成」コードをモデルからコントローラーに移動することです。コントローラーは、モデル、ビュー、およびビュー モデルを構成して、うまく連携できるようにすることを目的としています。

于 2013-01-23T13:10:39.657 に答える