MVC ģʽ

MVC ģʽ���� Model-View-Controller��ģ��-��ͼ-�������� ģʽ������ģʽ����Ӧ�ó���ķֲ㿪����

  • Model��ģ�ͣ� - ģ�ʹ���һ����ȡ���ݵĶ���� JAVA POJO����Ҳ���Դ����߼��������ݱ仯ʱ���¿�������
  • View����ͼ�� - ��ͼ����ģ�Ͱ��������ݵĿ��ӻ���
  • Controller���������� - ������������ģ�ͺ���ͼ�ϡ���������������ģ�Ͷ��󣬲������ݱ仯ʱ������ͼ����ʹ��ͼ��ģ�ͷ��뿪��

26MVC模式 - 图1

ʵ��

���ǽ�����һ����Ϊģ�͵� Student ����StudentView ��һ����ѧ����ϸ��Ϣ���������̨����ͼ�࣬StudentController �Ǹ���洢���ݵ� Student �����еĿ������࣬����Ӧ�ظ�����ͼ StudentView��

MVCPatternDemo�����ǵ���ʾ��ʹ�� StudentController ����ʾ MVC ģʽ���÷���

26MVC模式 - 图2

���� 1

����ģ�͡�

  1. public class Student {
  2. private String rollNo;
  3. private String name;
  4. public String getRollNo() {
  5. return rollNo;
  6. }
  7. public void setRollNo(String rollNo) {
  8. this.rollNo = rollNo;
  9. }
  10. public String getName() {
  11. return name;
  12. }
  13. public void setName(String name) {
  14. this.name = name;
  15. }
  16. }

���� 2

������ͼ��

  1. public class StudentView {
  2. public void printStudentDetails(String studentName, String studentRollNo){
  3. System.out.println("Student: ");
  4. System.out.println("Name: " + studentName);
  5. System.out.println("Roll No: " + studentRollNo);
  6. }
  7. }

���� 3

������������

  1. public class StudentController {
  2. private Student model;
  3. private StudentView view;
  4. public StudentController(Student model, StudentView view){
  5. this.model = model;
  6. this.view = view;
  7. }
  8. public void setStudentName(String name){
  9. model.setName(name);
  10. }
  11. public String getStudentName(){
  12. return model.getName();
  13. }
  14. public void setStudentRollNo(String rollNo){
  15. model.setRollNo(rollNo);
  16. }
  17. public String getStudentRollNo(){
  18. return model.getRollNo();
  19. }
  20. public void updateView(){
  21. view.printStudentDetails(model.getName(), model.getRollNo());
  22. }
  23. }

���� 4

ʹ�� StudentController ��������ʾ MVC ���ģʽ���÷���

  1. public class MVCPatternDemo {
  2. public static void main(String[] args) {
  3. //�����ݿ��ȡѧ����¼
  4. Student model = retrieveStudentFromDatabase();
  5. //����һ����ͼ����ѧ����ϸ��Ϣ���������̨
  6. StudentView view = new StudentView();
  7. StudentController controller = new StudentController(model, view);
  8. controller.updateView();
  9. //���������
  10. controller.setStudentName("John");
  11. controller.updateView();
  12. }
  13. private static Student retrieveStudentFromDatabase(){
  14. Student student = new Student();
  15. student.setName("Robert");
  16. student.setRollNo("10");
  17. return student;
  18. }
  19. }

���� 5

ִ�г�����������

  1. Student:
  2. Name: Robert
  3. Roll No: 10
  4. Student:
  5. Name: John
  6. Roll No: 10