
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x4D;&#x56;&#x43;&#x3001;&#x4D;&#x56;&#x50;&#x548C;&#x4D;&#x56;&#x56;&#x4D;&#x4E09;&#x79CD;&#x6A21;&#x5F0F;&#x7684;&#x4F18;&#x7F3A;&#x70B9;&#x548C;&#x533A;&#x522B;&#x5B;&#x8F6C;&#x5D;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x32;&#x31;&#x2D;&#x30;&#x39;&#x2D;&#x32;&#x38;&#x20;&#x30;&#x30;&#x3A;&#x31;&#x35;&#x20;&#x41;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=17">&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> <br/>&#x25A0; &#x539F;&#x6587;&#xFF1A;https://zhuanlan.zhihu.com/p/38108311<br/>&#x25A0; &#x4F5C;&#x8005;&#xFF1A;&#x7EC8;&#x7AEF;&#x7814;&#x53D1;&#x90E8;<br/>MVC&#x3001;MVP&#x548C;MVVM&#x4E09;&#x79CD;&#x6A21;&#x5F0F;&#x6709;&#x4EC0;&#x4E48;&#x533A;&#x522B;&#xFF0C;&#x7F51;&#x4E0A;&#x5F88;&#x591A;&#x6587;&#x7AE0;&#x5173;&#x4E8E;&#x8FD9;&#x65B9;&#x9762;&#x7684;&#x8BA8;&#x8BBA;&#x6BD4;&#x8F83;&#x6742;&#x4E71;&#xFF0C;&#x5404;&#x79CD;MV&#x6A21;&#x5F0F;&#x4E4B;&#x95F4;&#x7684;&#x533A;&#x522B;&#x5206;&#x4E0D;&#x6E05;&#xFF0C;&#x751A;&#x81F3;&#x6709;&#x4E9B;&#x63CF;&#x8FF0;&#x90FD;&#x662F;&#x9519;&#x8BEF;&#x7684;&#x3002;&#x672C;&#x6587;&#x8FFD;&#x6839;&#x6EAF;&#x6E90;&#xFF0C;&#x4ECE;&#x6700;&#x7ECF;&#x5178;&#x7684;Smalltalk-80 MVC&#x6A21;&#x5F0F;&#x5F00;&#x59CB;&#x9010;&#x6B65;&#x8FD8;&#x539F;&#x56FE;&#x5F62;&#x754C;&#x9762;&#x4E4B;&#x4E0B;&#x6700;&#x771F;&#x5B9E;&#x7684;MV&#x6A21;&#x5F0F;&#x3002;<br/>GUI&#x56FE;&#x5F62;&#x754C;&#x9762;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x6240;&#x9762;&#x4E34;&#x7684;&#x95EE;&#x9898;<br/>&#x56FE;&#x5F62;&#x754C;&#x9762;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x63D0;&#x4F9B;&#x7ED9;&#x7528;&#x6237;&#x53EF;&#x89C6;&#x5316;&#x7684;&#x64CD;&#x4F5C;&#x754C;&#x9762;&#xFF0C;&#x8FD9;&#x4E2A;&#x754C;&#x9762;&#x63D0;&#x4F9B;&#x7ED9;&#x6570;&#x636E;&#x548C;&#x4FE1;&#x606F;&#x3002;&#x7528;&#x6237;&#x8F93;&#x5165;&#x884C;&#x4E3A;&#xFF08;&#x952E;&#x76D8;&#xFF0C;&#x9F20;&#x6807;&#x7B49;&#xFF09;&#x4F1A;&#x6267;&#x884C;&#x4E00;&#x4E9B;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#xFF0C;&#x53EF;&#x80FD;&#x4F1A;&#x5BFC;&#x81F4;&#x5BF9;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x6570;&#x636E;&#x7684;&#x53D8;&#x66F4;&#xFF0C;&#x6570;&#x636E;&#x7684;&#x53D8;&#x66F4;&#x81EA;&#x7136;&#x9700;&#x8981;&#x7528;&#x6237;&#x754C;&#x9762;&#x7684;&#x540C;&#x6B65;&#x53D8;&#x66F4;&#x4EE5;&#x63D0;&#x4F9B;&#x6700;&#x51C6;&#x786E;&#x7684;&#x4FE1;&#x606F;&#x3002;&#x4F8B;&#x5982;&#x7528;&#x6237;&#x5BF9;&#x4E00;&#x4E2A;&#x7535;&#x5B50;&#x8868;&#x683C;&#x91CD;&#x65B0;&#x6392;&#x5E8F;&#x7684;&#x64CD;&#x4F5C;&#xFF0C;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x9700;&#x8981;&#x54CD;&#x5E94;&#x7528;&#x6237;&#x64CD;&#x4F5C;&#xFF0C;&#x5BF9;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x6392;&#x5E8F;&#xFF0C;&#x7136;&#x540E;&#x9700;&#x8981;&#x540C;&#x6B65;&#x5230;&#x754C;&#x9762;&#x4E0A;&#x3002;<br/>&#x5728;&#x5F00;&#x53D1;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4EE5;&#x6C42;&#x66F4;&#x597D;&#x7684;&#x7BA1;&#x7406;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x590D;&#x6742;&#x6027;&#xFF0C;&#x57FA;&#x4E8E;&#x804C;&#x8D23;&#x5206;&#x79BB;&#xFF08;Speration of Duties&#xFF09;&#x7684;&#x601D;&#x60F3;&#x90FD;&#x4F1A;&#x5BF9;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x8FDB;&#x884C;&#x5206;&#x5C42;&#x3002;&#x5728;&#x5F00;&#x53D1;&#x56FE;&#x5F62;&#x754C;&#x9762;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4F1A;&#x628A;&#x7BA1;&#x7406;&#x7528;&#x6237;&#x754C;&#x9762;&#x7684;&#x5C42;&#x6B21;&#x79F0;&#x4E3A;View&#x5C42;&#xFF0C;&#x7BA1;&#x7406;&#x5E94;&#x7528;&#x6570;&#x636E;&#x7684;&#x5C42;&#x6B21;&#x79F0;&#x4E3A;Model&#x5C42;&#xFF08;&#x6CE8;&#x610F;&#x8FD9;&#x91CC;&#x7684;Model&#x6307;&#x7684;&#x662F;Domain Model&#xFF0C;&#x8FD9;&#x4E2A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x5BF9;&#x9700;&#x8981;&#x89E3;&#x51B3;&#x7684;&#x95EE;&#x9898;&#x7684;&#x6570;&#x636E;&#x62BD;&#x8C61;&#xFF0C;&#x4E0D;&#x5305;&#x542B;&#x5E94;&#x7528;&#x7684;&#x72B6;&#x6001;&#xFF0C;&#x53EF;&#x4EE5;&#x7B80;&#x5355;&#x7406;&#x89E3;&#x4E3A;&#x5BF9;&#x8C61;&#xFF09;&#x3002;Model&#x5C42;&#x5BF9;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x65E0;&#x77E5;&#xFF0C;&#x53EA;&#x4FDD;&#x5B58;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x548C;&#x63D0;&#x4F9B;&#x6570;&#x636E;&#x64CD;&#x4F5C;&#x7684;&#x63A5;&#x53E3;&#x3002;<br/>&#x6709;&#x4E86;View&#x548C;Model&#x7684;&#x5206;&#x5C42;&#xFF0C;&#x90A3;&#x4E48;&#x5C31;&#x6709;&#x4E86;&#x4E24;&#x4E2A;&#x95EE;&#x9898;&#xFF1A;<br/>&#x25C6; &#x7BA1;&#x7406;&#x5982;&#x4F55;&#x54CD;&#x5E94;&#x7528;&#x6237;&#x64CD;&#x4F5C;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#xFF08;&#x4F8B;&#x5982;&#x6392;&#x5E8F;&#xFF09;&#xFF1F;<br/>&#x25C6; View&#x5982;&#x4F55;&#x540C;&#x6B65;Model&#x7684;&#x53D8;&#x66F4;&#xFF1F;<br/>&#x5E26;&#x7740;&#x8FD9;&#x4E24;&#x4E2A;&#x95EE;&#x9898;&#x5F00;&#x59CB;&#x63A2;&#x7D22;MV&#x6A21;&#x5F0F;&#xFF0C;&#x4F1A;&#x53D1;&#x73B0;&#x8FD9;&#x4E9B;&#x6A21;&#x5F0F;&#x4E4B;&#x95F4;&#x7684;&#x5DEE;&#x5F02;&#x53EF;&#x4EE5;&#x5F52;&#x7EB3;&#x4E3A;&#x5BF9;&#x8FD9;&#x4E24;&#x4E2A;&#x95EE;&#x9898;&#x5904;&#x7406;&#x7684;&#x65B9;&#x5F0F;&#x7684;&#x4E0D;&#x540C;&#xFF0C;&#x800C;&#x51E0;&#x4E4E;&#x6240;&#x6709;&#x7684;MV&#x6A21;&#x5F0F;&#x90FD;&#x662F;&#x7ECF;&#x5178;&#x7684;Smalltalk-80 MVC&#x7684;&#x4FEE;&#x6539;&#x7248;&#x3002;<br/>Smalltalk-80 MVC<br/>&#x65E9;&#x5728;&#x4E0A;&#x4E2A;&#x4E16;&#x7EAA;70&#x5E74;&#x4EE3;&#xFF0C;&#x7F8E;&#x56FD;&#x65BD;&#x4E50;&#x516C;&#x53F8;&#xFF08;Xerox&#xFF09;&#x7684;&#x5DE5;&#x7A0B;&#x5E08;&#x7814;&#x53D1;&#x4E86;Smalltalk&#x7F16;&#x7A0B;&#x8BED;&#x8A00;&#xFF0C;&#x5E76;&#x4E14;&#x5F00;&#x59CB;&#x7528;&#x5B83;&#x7F16;&#x5199;&#x56FE;&#x5F62;&#x754C;&#x9762;&#x7684;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#xFF0C;&#x800C;&#x5728;Smalltalk-80&#x8FD9;&#x4E2A;&#x7248;&#x672C;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4E00;&#x4F4D;&#x53EB;Trygve Reenskaug&#x7684;&#x5DE5;&#x7A0B;&#x5E08;&#x8BBE;&#x8BA1;&#x4E86;MVC&#x56FE;&#x5F62;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x67B6;&#x6784;&#x6A21;&#x5F0F;&#xFF0C;&#x6781;&#x5927;&#x5730;&#x964D;&#x4F4E;&#x4E86;&#x56FE;&#x5F62;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x7BA1;&#x7406;&#x96BE;&#x5EA6;&#x3002;&#x4F46;&#x5728;&#x56DB;&#x4EBA;&#x7EC4;&#xFF08;GoF&#xFF09;&#x7684;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#x4E2D;&#x5E76;&#x6CA1;&#x6709;&#x628A;MVC&#x5F53;&#x505A;&#x662F;&#x8BBE;&#x8BA1;&#x6A21;&#x5F0F;&#xFF0C;&#x800C;&#x4EC5;&#x4EC5;&#x662F;&#x628A;&#x5B83;&#x770B;&#x6210;&#x89E3;&#x51B3;&#x95EE;&#x9898;&#x7684;&#x4E00;&#x4E9B;&#x7C7B;&#x7684;&#x96C6;&#x5408;&#x3002;Smalltalk-80 MVC&#x548C;GoF&#x63CF;&#x8FF0;&#x7684;MVC&#x662F;&#x6700;&#x7ECF;&#x5178;&#x7684;MVC&#x6A21;&#x5F0F;&#x3002;<br/>MVC&#x9664;&#x4E86;&#x628A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x5206;&#x6210;View&#x3001;Model&#x5C42;&#xFF0C;&#x8FD8;&#x989D;&#x5916;&#x7684;&#x52A0;&#x4E86;&#x4E00;&#x4E2A;Controller&#x5C42;&#xFF0C;&#x5B83;&#x7684;&#x804C;&#x8D23;&#x5C31;&#x662F;&#x4E13;&#x95E8;&#x7BA1;&#x7406;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x3002;Model&#x3001;View&#x3001;Controller&#x4E09;&#x4E2A;&#x5C42;&#x6B21;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x4E3A;&#xFF1A;Controller&#x548C;View&#x90FD;&#x4F9D;&#x8D56;Model&#x5C42;&#xFF0C;Controller&#x548C;View&#x53EF;&#x4EE5;&#x4E92;&#x76F8;&#x4F9D;&#x8D56;&#x3002;&#x5728;&#x4E0D;&#x540C;&#x7684;&#x8D44;&#x6599;&#x4E2D;Controller&#x548C;View&#x4E4B;&#x95F4;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x53EF;&#x80FD;&#x4E0D;&#x4E00;&#x6837;&#xFF0C;&#x6709;&#x4E9B;&#x662F;&#x5355;&#x5411;&#x4F9D;&#x8D56;&#xFF0C;&#x6709;&#x4E9B;&#x662F;&#x53CC;&#x5411;&#x4F9D;&#x8D56;&#xFF0C;&#x8FD9;&#x4E2A;&#x5176;&#x5B9E;&#x5173;&#x7CFB;&#x4E0D;&#x5927;&#xFF0C;&#x540E;&#x9762;&#x4F1A;&#x770B;&#x5230;&#x5B83;&#x4EEC;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x90FD;&#x662F;&#x4E3A;&#x4E86;&#x628A;&#x5904;&#x7406;&#x7528;&#x6237;&#x884C;&#x4E3A;&#x89E6;&#x53D1;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x7684;&#x5904;&#x7406;&#x6743;&#x4EA4;&#x7ED9;Controller&#x3002;<br/>&#x7528;&#x6237;&#x5BF9;View&#x64CD;&#x4F5C;&#x4EE5;&#x540E;&#xFF0C;View&#x6355;&#x83B7;&#x5230;&#x8FD9;&#x4E2A;&#x64CD;&#x4F5C;&#xFF0C;&#x5E76;&#x628A;&#x5904;&#x7406;&#x7684;&#x6743;&#x5229;&#x4EA4;&#x79FB;&#x7ED9;Controller&#xFF08;Pass calls&#xFF09;&#xFF0C;Controller&#x63A5;&#x7740;&#x4F1A;&#x6267;&#x884C;&#x76F8;&#x5173;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#xFF0C;&#x8FD9;&#x4E9B;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x5BF9;Model&#x8FDB;&#x884C;&#x76F8;&#x5E94;&#x7684;&#x64CD;&#x4F5C;&#xFF0C;&#x5F53;Model&#x53D8;&#x66F4;&#x4E86;&#x4EE5;&#x540E;&#xFF0C;&#x4F1A;&#x901A;&#x8FC7;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#xFF08;Observer Pattern&#xFF09;&#x901A;&#x77E5;View&#xFF0C;View&#x901A;&#x8FC7;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#x6536;&#x5230;Model&#x53D8;&#x66F4;&#x7684;&#x6D88;&#x606F;&#x4EE5;&#x540E;&#xFF0C;&#x4F1A;&#x5411;Model&#x8BF7;&#x6C42;&#x6700;&#x65B0;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x7136;&#x540E;&#x91CD;&#x65B0;&#x66F4;&#x65B0;&#x754C;&#x9762;&#xFF0C;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;<br/>&#x770B;&#x4F3C;&#x6CA1;&#x6709;&#x4EC0;&#x4E48;&#x7279;&#x522B;&#x7684;&#x5730;&#x65B9;&#xFF0C;&#x4F46;&#x662F;&#x6709;&#x51E0;&#x4E2A;&#x9700;&#x8981;&#x7279;&#x522B;&#x5173;&#x6CE8;&#x7684;&#x5173;&#x952E;&#x70B9;&#xFF1A;<br/>&#x25A0; View&#x662F;&#x628A;&#x63A7;&#x5236;&#x6743;&#x4EA4;&#x79FB;&#x7ED9;Controller&#xFF0C;&#x81EA;&#x5DF1;&#x4E0D;&#x6267;&#x884C;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#xFF1B;<br/>&#x25A0; Controller&#x6267;&#x884C;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x5E76;&#x4E14;&#x64CD;&#x4F5C;Model&#xFF0C;&#x4F46;&#x4E0D;&#x4F1A;&#x76F4;&#x63A5;&#x64CD;&#x4F5C;View&#xFF0C;&#x53EF;&#x4EE5;&#x8BF4;&#x5B83;&#x662F;&#x5BF9;View&#x65E0;&#x77E5;&#x7684;&#xFF1B;<br/>&#x25A0; View&#x548C;Model&#x7684;&#x540C;&#x6B65;&#x6D88;&#x606F;&#x662F;&#x901A;&#x8FC7;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#x8FDB;&#x884C;&#xFF0C;&#x800C;&#x540C;&#x6B65;&#x64CD;&#x4F5C;&#x662F;&#x7531;View&#x81EA;&#x5DF1;&#x8BF7;&#x6C42;Model&#x7684;&#x6570;&#x636E;&#x7136;&#x540E;&#x5BF9;&#x89C6;&#x56FE;&#x8FDB;&#x884C;&#x66F4;&#x65B0;&#x3002;<br/>&#x9700;&#x8981;&#x7279;&#x522B;&#x6CE8;&#x610F;&#x7684;&#x662F;MVC&#x6A21;&#x5F0F;&#x7684;&#x7CBE;&#x9AD3;&#x5728;&#x4E8E;&#x7B2C;&#x4E09;&#x70B9;&#xFF1A;Model&#x7684;&#x66F4;&#x65B0;&#x662F;&#x901A;&#x8FC7;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#x544A;&#x77E5;View&#x7684;&#xFF0C;&#x5177;&#x4F53;&#x8868;&#x73B0;&#x5F62;&#x5F0F;&#x53EF;&#x4EE5;&#x662F;Pub/Sub&#x6216;&#x8005;&#x662F;&#x89E6;&#x53D1;Events&#xFF0C;&#x800C;&#x7F51;&#x4E0A;&#x5F88;&#x591A;&#x5BF9;&#x4E8E;MVC&#x7684;&#x63CF;&#x8FF0;&#x90FD;&#x6CA1;&#x6709;&#x5F3A;&#x8C03;&#x8FD9;&#x4E00;&#x70B9;&#x3002;&#x901A;&#x8FC7;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#x7684;&#x597D;&#x5904;&#x5C31;&#x662F;&#xFF1A;&#x4E0D;&#x540C;&#x7684;MVC&#x4E09;&#x89D2;&#x5173;&#x7CFB;&#x53EF;&#x80FD;&#x4F1A;&#x6709;&#x5171;&#x540C;&#x7684;Model&#xFF0C;&#x4E00;&#x4E2A;MVC&#x4E09;&#x89D2;&#x4E2D;&#x7684;Controller&#x64CD;&#x4F5C;&#x4E86;Model&#x4EE5;&#x540E;&#xFF0C;&#x5176;&#x4ED6;MVC&#x4E09;&#x89D2;&#x7684;View&#x90FD;&#x4F1A;&#x63A5;&#x53D7;&#x5230;&#x901A;&#x77E5;&#xFF0C;&#x7136;&#x540E;&#x66F4;&#x65B0;&#x81EA;&#x5DF1;&#xFF0C;&#x4FDD;&#x8BC1;&#x4E86;&#x4F9D;&#x8D56;&#x540C;&#x4E00;&#x5757;Model&#x7684;&#x4E0D;&#x540C;View&#x663E;&#x793A;&#x6570;&#x636E;&#x7684;&#x5B9E;&#x65F6;&#x6027;&#x548C;&#x51C6;&#x786E;&#x6027;&#x3002;&#x6211;&#x4EEC;&#x6BCF;&#x5929;&#x90FD;&#x5728;&#x7528;&#x7684;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#xFF0C;&#x5728;&#x51E0;&#x5341;&#x5E74;&#x524D;&#x5C31;&#x5DF2;&#x7ECF;&#x88AB;&#x5927;&#x795E;&#x4EEC;&#x6574;&#x5408;&#x5230;MVC&#x7684;&#x67B6;&#x6784;&#x5F53;&#x4E2D;&#x3002;<br/>&#x8FD9;&#x91CC;&#x6709;&#x4E00;&#x4E2A;MVC&#x6A21;&#x5F0F;&#x7684;Javascri&#112;t Demo&#xFF0C;&#x5B9E;&#x73B0;&#x4E86;&#x4E00;&#x4E2A;&#x5C0F;&#x7684;TodoList&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x3002;&#x7ECF;&#x5178;&#x7684;Smalltalk-80 MVC&#x4E0D;&#x9700;&#x8981;&#x4EFB;&#x4F55;&#x6846;&#x67B6;&#x652F;&#x6301;&#x5C31;&#x53EF;&#x4EE5;&#x5B9E;&#x73B0;&#x3002;&#x76EE;&#x524D;Web&#x524D;&#x7AEF;&#x6846;&#x67B6;&#x5F53;&#x4E2D;&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#x53F7;&#x79F0;&#x662F;&#x4E25;&#x683C;&#x9075;&#x5FAA;Smalltalk-80 MVC&#x6A21;&#x5F0F;&#x7684;&#xFF1A;maria.js&#x3002;<br/>MVC&#x6A21;&#x5F0F;&#x7684;&#x4F18;&#x70B9;<br/>&#x25A0; &#x628A;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x5168;&#x90E8;&#x5206;&#x79BB;&#x5230;Controller&#x4E2D;&#xFF0C;&#x6A21;&#x5757;&#x5316;&#x7A0B;&#x5EA6;&#x9AD8;&#x3002;&#x5F53;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x53D8;&#x66F4;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x53D8;&#x66F4;View&#x548C;Model&#xFF0C;&#x53EA;&#x9700;&#x8981;Controller&#x6362;&#x6210;&#x53E6;&#x5916;&#x4E00;&#x4E2A;Controller&#x5C31;&#x884C;&#x4E86;&#xFF08;Swappable Controller&#xFF09;;<br/>&#x25A0; &#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#x53EF;&#x4EE5;&#x505A;&#x5230;&#x591A;&#x89C6;&#x56FE;&#x540C;&#x65F6;&#x66F4;&#x65B0;;<br/>MVC&#x6A21;&#x5F0F;&#x7684;&#x7F3A;&#x70B9;<br/>&#x25A0; Controller&#x6D4B;&#x8BD5;&#x56F0;&#x96BE;&#x3002;&#x56E0;&#x4E3A;&#x89C6;&#x56FE;&#x540C;&#x6B65;&#x64CD;&#x4F5C;&#x662F;&#x7531;View&#x81EA;&#x5DF1;&#x6267;&#x884C;&#xFF0C;&#x800C;View&#x53EA;&#x80FD;&#x5728;&#x6709;UI&#x7684;&#x73AF;&#x5883;&#x4E0B;&#x8FD0;&#x884C;&#x3002;&#x5728;&#x6CA1;&#x6709;UI&#x73AF;&#x5883;&#x4E0B;&#x5BF9;Controller&#x8FDB;&#x884C;&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7684;&#x65F6;&#x5019;&#xFF0C;Controller&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x7684;&#x6B63;&#x786E;&#x6027;&#x662F;&#x65E0;&#x6CD5;&#x9A8C;&#x8BC1;&#x7684;&#xFF1A;Controller&#x66F4;&#x65B0;Model&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x65E0;&#x6CD5;&#x5BF9;View&#x7684;&#x66F4;&#x65B0;&#x64CD;&#x4F5C;&#x8FDB;&#x884C;&#x65AD;&#x8A00;;<br/>&#x25A0; View&#x65E0;&#x6CD5;&#x7EC4;&#x4EF6;&#x5316;&#x3002;View&#x662F;&#x5F3A;&#x4F9D;&#x8D56;&#x7279;&#x5B9A;&#x7684;Model&#x7684;&#xFF0C;&#x5982;&#x679C;&#x9700;&#x8981;&#x628A;&#x8FD9;&#x4E2A;View&#x62BD;&#x51FA;&#x6765;&#x4F5C;&#x4E3A;&#x4E00;&#x4E2A;&#x53E6;&#x5916;&#x4E00;&#x4E2A;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x53EF;&#x590D;&#x7528;&#x7684;&#x7EC4;&#x4EF6;&#x5C31;&#x56F0;&#x96BE;&#x4E86;&#xFF0C;&#x56E0;&#x4E3A;&#x4E0D;&#x540C;&#x7A0B;&#x5E8F;&#x7684;&#x7684;Domain Model&#x662F;&#x4E0D;&#x4E00;&#x6837;&#x7684;;<br/>MVC Model 2<br/>&#x5728;Web&#x670D;&#x52A1;&#x7AEF;&#x5F00;&#x53D1;&#x7684;&#x65F6;&#x5019;&#x4E5F;&#x4F1A;&#x63A5;&#x89E6;&#x5230;MVC&#x6A21;&#x5F0F;&#xFF0C;&#x800C;&#x8FD9;&#x79CD;MVC&#x6A21;&#x5F0F;&#x4E0D;&#x80FD;&#x4E25;&#x683C;&#x79F0;&#x4E3A;MVC&#x6A21;&#x5F0F;&#x3002;&#x7ECF;&#x5178;&#x7684;MVC&#x6A21;&#x5F0F;&#x53EA;&#x662F;&#x89E3;&#x51B3;&#x5BA2;&#x6237;&#x7AEF;&#x56FE;&#x5F62;&#x754C;&#x9762;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x800C;&#x5BF9;&#x670D;&#x52A1;&#x7AEF;&#x65E0;&#x6548;&#x3002;&#x670D;&#x52A1;&#x7AEF;&#x7684;MVC&#x6A21;&#x5F0F;&#x6709;&#x81EA;&#x5DF1;&#x7279;&#x5B9A;&#x7684;&#x540D;&#x5B57;&#xFF1A;MVC Model 2&#xFF0C;&#x6216;&#x8005;&#x53EB;JSP Model 2&#xFF0C;&#x6216;&#x8005;&#x76F4;&#x63A5;&#x5C31;&#x662F;Model 2 &#x3002;Model 2&#x5BA2;&#x6237;&#x7AEF;&#x548C;&#x670D;&#x52A1;&#x7AEF;&#x7684;&#x4EA4;&#x4E92;&#x6A21;&#x5F0F;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x670D;&#x52A1;&#x7AEF;&#x63A5;&#x6536;&#x5230;&#x6765;&#x81EA;&#x5BA2;&#x6237;&#x7AEF;&#x7684;&#x8BF7;&#x6C42;&#xFF0C;&#x670D;&#x52A1;&#x7AEF;&#x901A;&#x8FC7;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x628A;&#x8FD9;&#x4E2A;&#x8BF7;&#x6C42;&#x4EA4;&#x7531;&#x7ED9;&#x7279;&#x5B9A;&#x7684;Controller&#x8FDB;&#x884C;&#x5904;&#x7406;&#xFF0C;Controller&#x6267;&#x884C;&#x76F8;&#x5E94;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#xFF0C;&#x5BF9;&#x6570;&#x636E;&#x5E93;&#x6570;&#x636E;&#xFF08;Model&#xFF09;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#xFF0C;&#x7136;&#x540E;&#x7528;&#x6570;&#x636E;&#x53BB;&#x6E32;&#x67D3;&#x7279;&#x5B9A;&#x7684;&#x6A21;&#x7248;&#xFF0C;&#x8FD4;&#x56DE;&#x7ED9;&#x5BA2;&#x6237;&#x7AEF;&#x3002;<br/>&#x56E0;&#x4E3A;HTTP&#x534F;&#x8BAE;&#x662F;&#x5355;&#x5DE5;&#x534F;&#x8BAE;&#x5E76;&#x4E14;&#x662F;&#x65E0;&#x72B6;&#x6001;&#x7684;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x65E0;&#x6CD5;&#x76F4;&#x63A5;&#x7ED9;&#x5BA2;&#x6237;&#x7AEF;&#x63A8;&#x9001;&#x6570;&#x636E;&#x3002;&#x9664;&#x975E;&#x5BA2;&#x6237;&#x7AEF;&#x518D;&#x6B21;&#x53D1;&#x8D77;&#x8BF7;&#x6C42;&#xFF0C;&#x5426;&#x5219;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x7684;Model&#x7684;&#x53D8;&#x66F4;&#x5C31;&#x65E0;&#x6CD5;&#x544A;&#x77E5;&#x5BA2;&#x6237;&#x7AEF;&#x3002;&#x6240;&#x4EE5;&#x53EF;&#x4EE5;&#x770B;&#x5230;&#x7ECF;&#x5178;&#x7684;Smalltalk-80 MVC&#x4E2D;Model&#x901A;&#x8FC7;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#x544A;&#x77E5;View&#x66F4;&#x65B0;&#x8FD9;&#x4E00;&#x73AF;&#x88AB;&#x65E0;&#x60C5;&#x5730;&#x6253;&#x7834;&#xFF0C;&#x4E0D;&#x80FD;&#x79F0;&#x4E3A;&#x4E25;&#x683C;&#x7684;MVC&#x3002;<br/>Model 2&#x6A21;&#x5F0F;&#x6700;&#x65E9;&#x5728;1998&#x5E74;&#x5E94;&#x7528;&#x5728;JSP&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x5F53;&#x4E2D;&#xFF0C;JSP Model 1&#x5E94;&#x7528;&#x7BA1;&#x7406;&#x7684;&#x6DF7;&#x4E71;&#x8BF1;&#x53D1;&#x4E86;JSP&#x53C2;&#x8003;&#x4E86;&#x5BA2;&#x6237;&#x7AEF;MVC&#x6A21;&#x5F0F;&#xFF0C;&#x50AC;&#x751F;&#x4E86;Model 2&#x3002;<br/>&#x540E;&#x6765;&#x8FD9;&#x79CD;&#x6A21;&#x5F0F;&#x51E0;&#x4E4E;&#x88AB;&#x5E94;&#x7528;&#x5728;Web&#x5F00;&#x53D1;&#x6846;&#x67B6;&#x7684;&#x6240;&#x6709;&#x8BED;&#x8A00;&#x4E2D;&#x3002;PHP&#x7684;ThinkPHP&#xFF0C;Python&#x7684;Dijango&#x3001;Flask&#xFF0C;NodeJS&#x7684;Express&#xFF0C;Ruby&#x7684;RoR&#xFF0C;&#x57FA;&#x672C;&#x90FD;&#x91C7;&#x7EB3;&#x4E86;&#x8FD9;&#x79CD;&#x6A21;&#x5F0F;&#x3002;&#x5E73;&#x5E38;&#x6240;&#x8BB2;&#x7684;MVC&#x57FA;&#x672C;&#x662F;&#x8FD9;&#x79CD;&#x670D;&#x52A1;&#x7AEF;&#x7684;MVC&#x3002;<br/>MVP<br/>MVP&#x6A21;&#x5F0F;&#x662F;&#x5728;&#x4E0A;&#x4E2A;&#x4E16;&#x7EAA;90&#x5E74;&#x4EE3;&#xFF0C;IBM&#x65D7;&#x4E0B;&#x7684;&#x5B50;&#x516C;&#x53F8;Taligent&#x5728;&#x7528;C/C++&#x5F00;&#x53D1;&#x4E00;&#x4E2A;&#x53EB;CommonPoint&#x7684;&#x56FE;&#x5F62;&#x754C;&#x9762;&#x5E94;&#x7528;&#x7CFB;&#x7EDF;&#x7684;&#x65F6;&#x5019;&#x63D0;&#x51FA;&#x6765;&#x7684;&#x3002;MVP&#x6A21;&#x5F0F;&#x6709;&#x4E24;&#x79CD;&#xFF1A;Passive View&#x548C;Supervising Controller&#xFF0C;&#x6211;&#x4EEC;&#x5927;&#x591A;&#x6570;&#x60C5;&#x51B5;&#x4E0B;&#x8BA8;&#x8BBA;&#x7684;&#x90FD;&#x662F;Passive View&#x6A21;&#x5F0F;&#x3002;<br/>MVP&#x6A21;&#x5F0F;&#x628A;MVC&#x6A21;&#x5F0F;&#x4E2D;&#x7684;Controller&#x6362;&#x6210;&#x4E86;Presenter&#xFF0C;MVP&#x6253;&#x7834;&#x4E86;View&#x539F;&#x6765;&#x5BF9;&#x4E8E;Model&#x7684;&#x4F9D;&#x8D56;&#xFF0C;&#x5176;&#x4F59;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x548C;MVC&#x6A21;&#x5F0F;&#x4E00;&#x81F4;&#x3002;MVP&#x5C42;&#x6B21;&#x4E4B;&#x95F4;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x65E2;&#x7136;View&#x5BF9;Model&#x7684;&#x4F9D;&#x8D56;&#x88AB;&#x6253;&#x7834;&#x4E86;&#xFF0C;&#x90A3;View&#x5982;&#x4F55;&#x540C;&#x6B65;Model&#x7684;&#x53D8;&#x66F4;&#xFF1F;&#x770B;&#x770B;MVP&#x7684;&#x8C03;&#x7528;&#x5173;&#x7CFB;&#xFF1A;<br/>&#x548C;MVC&#x6A21;&#x5F0F;&#x4E00;&#x6837;&#xFF0C;&#x7528;&#x6237;&#x5BF9;View&#x7684;&#x64CD;&#x4F5C;&#x90FD;&#x4F1A;&#x4ECE;View&#x4EA4;&#x79FB;&#x7ED9;Presenter&#x3002;Presenter&#x540C;&#x6837;&#x7684;&#x4F1A;&#x6267;&#x884C;&#x76F8;&#x5E94;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#xFF0C;&#x5E76;&#x4E14;&#x5BF9;Model&#x8FDB;&#x884C;&#x76F8;&#x5E94;&#x7684;&#x64CD;&#x4F5C;&#xFF1B;&#x800C;&#x8FD9;&#x65F6;&#x5019;Model&#x4E5F;&#x662F;&#x901A;&#x8FC7;&#x89C2;&#x5BDF;&#x8005;&#x6A21;&#x5F0F;&#x628A;&#x81EA;&#x5DF1;&#x53D8;&#x66F4;&#x7684;&#x6D88;&#x606F;&#x4F20;&#x9012;&#x51FA;&#x53BB;&#xFF0C;&#x4F46;&#x662F;&#x662F;&#x4F20;&#x7ED9;Presenter&#x800C;&#x4E0D;&#x662F;View&#x3002;Presenter&#x83B7;&#x53D6;&#x5230;Model&#x53D8;&#x66F4;&#x7684;&#x6D88;&#x606F;&#x4EE5;&#x540E;&#xFF0C;&#x901A;&#x8FC7;View&#x63D0;&#x4F9B;&#x7684;&#x63A5;&#x53E3;&#x66F4;&#x65B0;&#x754C;&#x9762;&#x3002;<br/>&#x8FD9;&#x8FB9;&#x4E5F;&#x6709;&#x51E0;&#x4E2A;&#x5173;&#x952E;&#x70B9;&#xFF1A;<br/>&#x25A0; View&#x4E0D;&#x518D;&#x8D1F;&#x8D23;&#x540C;&#x6B65;&#x7684;&#x903B;&#x8F91;&#xFF0C;&#x800C;&#x662F;&#x7531;Presenter&#x8D1F;&#x8D23;&#x3002;Presenter&#x4E2D;&#x65E2;&#x6709;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x4E5F;&#x6709;&#x540C;&#x6B65;&#x903B;&#x8F91;&#xFF1B;<br/>&#x25A0; View&#x9700;&#x8981;&#x63D0;&#x4F9B;&#x64CD;&#x4F5C;&#x754C;&#x9762;&#x7684;&#x63A5;&#x53E3;&#x7ED9;Presenter&#x8FDB;&#x884C;&#x8C03;&#x7528;&#xFF1B;&#xFF08;&#x5173;&#x952E;&#xFF09;<br/>&#x5BF9;&#x6BD4;&#x5728;MVC&#x4E2D;&#xFF0C;Controller&#x662F;&#x4E0D;&#x80FD;&#x64CD;&#x4F5C;View&#x7684;&#xFF0C;View&#x4E5F;&#x6CA1;&#x6709;&#x63D0;&#x4F9B;&#x76F8;&#x5E94;&#x7684;&#x63A5;&#x53E3;&#xFF0C;&#x800C;&#x5728;MVP&#x5F53;&#x4E2D;&#xFF0C;Presenter&#x53EF;&#x4EE5;&#x64CD;&#x4F5C;View&#xFF0C;View&#x9700;&#x8981;&#x63D0;&#x4F9B;&#x4E00;&#x7EC4;&#x5BF9;&#x754C;&#x9762;&#x64CD;&#x4F5C;&#x7684;&#x63A5;&#x53E3;&#x7ED9;Presenter&#x8FDB;&#x884C;&#x8C03;&#x7528;&#xFF0C;Model&#x4ECD;&#x7136;&#x901A;&#x8FC7;&#x4E8B;&#x4EF6;&#x5E7F;&#x64AD;&#x81EA;&#x5DF1;&#x7684;&#x53D8;&#x66F4;&#xFF0C;&#x4F46;&#x7531;Presenter&#x76D1;&#x542C;&#x800C;&#x4E0D;&#x662F;View&#x3002;<br/>MVP&#x6A21;&#x5F0F;&#xFF0C;&#x8FD9;&#x91CC;&#x4E5F;&#x63D0;&#x4F9B;&#x4E00;&#x4E2A;&#x7528;Javascri&#112;t&#x7F16;&#x5199;&#x7684;&#x4F8B;&#x5B50;&#x3002;<br/>MVP&#x6A21;&#x5F0F;&#x7684;&#x4F18;&#x70B9;<br/>&#x25A0; &#x4FBF;&#x4E8E;&#x6D4B;&#x8BD5;&#x3002;Presenter&#x5BF9;View&#x662F;&#x901A;&#x8FC7;&#x63A5;&#x53E3;&#x8FDB;&#x884C;&#xFF0C;&#x5728;&#x5BF9;Presenter&#x8FDB;&#x884C;&#x4E0D;&#x4F9D;&#x8D56;UI&#x73AF;&#x5883;&#x7684;&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;Mock&#x4E00;&#x4E2A;View&#x5BF9;&#x8C61;&#xFF0C;&#x8FD9;&#x4E2A;&#x5BF9;&#x8C61;&#x53EA;&#x9700;&#x8981;&#x5B9E;&#x73B0;&#x4E86;View&#x7684;&#x63A5;&#x53E3;&#x5373;&#x53EF;&#xFF0C;&#x7136;&#x540E;&#x4F9D;&#x8D56;&#x6CE8;&#x5165;&#x5230;Presenter&#x4E2D;&#xFF0C;&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7684;&#x65F6;&#x5019;&#x5C31;&#x53EF;&#x4EE5;&#x5B8C;&#x6574;&#x7684;&#x6D4B;&#x8BD5;Presenter&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x7684;&#x6B63;&#x786E;&#x6027;&#x3002;&#x8FD9;&#x91CC;&#x6839;&#x636E;&#x4E0A;&#x9762;&#x7684;&#x4F8B;&#x5B50;&#x7ED9;&#x51FA;&#x4E86;Presenter&#x7684;&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x6837;&#x4F8B;&#x3002;<br/>&#x25A0; View&#x53EF;&#x4EE5;&#x8FDB;&#x884C;&#x7EC4;&#x4EF6;&#x5316;&#x3002;&#x5728;MVP&#x5F53;&#x4E2D;&#xFF0C;View&#x4E0D;&#x4F9D;&#x8D56;Model&#xFF0C;&#x8FD9;&#x6837;&#x5C31;&#x53EF;&#x4EE5;&#x8BA9;View&#x4ECE;&#x7279;&#x5B9A;&#x7684;&#x4E1A;&#x52A1;&#x573A;&#x666F;&#x4E2D;&#x8131;&#x79BB;&#x51FA;&#x6765;&#xFF0C;&#x53EF;&#x4EE5;&#x8BF4;View&#x53EF;&#x4EE5;&#x505A;&#x5230;&#x5BF9;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x5B8C;&#x5168;&#x65E0;&#x77E5;&#x3002;&#x5B83;&#x53EA;&#x9700;&#x8981;&#x63D0;&#x4F9B;&#x4E00;&#x7CFB;&#x5217;&#x63A5;&#x53E3;&#x63D0;&#x4F9B;&#x7ED9;&#x4E0A;&#x5C42;&#x64CD;&#x4F5C;&#xFF0C;&#x8FD9;&#x6837;&#x5C31;&#x53EF;&#x4EE5;&#x505A;&#x9AD8;&#x5EA6;&#x53EF;&#x590D;&#x7528;&#x7684;View&#x7EC4;&#x4EF6;&#x3002;<br/>MVP&#x6A21;&#x5F0F;&#x7684;&#x7F3A;&#x70B9;<br/>&#x25A0; Presenter&#x4E2D;&#x9664;&#x4E86;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x4EE5;&#x5916;&#xFF0C;&#x8FD8;&#x6709;&#x5927;&#x91CF;&#x7684;View-&gt;Model&#xFF0C;Model-&gt;View&#x7684;&#x624B;&#x5DE5;&#x540C;&#x6B65;&#x903B;&#x8F91;&#xFF0C;&#x9020;&#x6210;Presenter&#x6BD4;&#x8F83;&#x7B28;&#x91CD;&#xFF0C;&#x7EF4;&#x62A4;&#x8D77;&#x6765;&#x4F1A;&#x6BD4;&#x8F83;&#x56F0;&#x96BE;&#x3002;<br/>&#x518D;&#x8BF4;&#x4E0B;MVP&#x7684;&#x53E6;&#x4E00;&#x79CD;&#x6A21;&#x5F0F;&#xFF1A;Supervising Controller&#xFF0C; Passive View&#x6A21;&#x5F0F;&#x4E0B;View&#x975E;&#x5E38;Passive&#xFF0C;&#x5B83;&#x51E0;&#x4E4E;&#x4EC0;&#x4E48;&#x90FD;&#x4E0D;&#x77E5;&#x9053;&#xFF0C;Presenter&#x8BA9;&#x5B83;&#x5E72;&#x4EC0;&#x4E48;&#x5B83;&#x5C31;&#x5E72;&#x4EC0;&#x4E48;&#xFF0C;&#x800C;Supervising Controller&#x6A21;&#x5F0F;&#x4E2D;&#xFF0C;Presenter&#x4F1A;&#x628A;&#x4E00;&#x90E8;&#x5206;&#x7B80;&#x5355;&#x7684;&#x540C;&#x6B65;&#x903B;&#x8F91;&#x4EA4;&#x7ED9;View&#x81EA;&#x5DF1;&#x53BB;&#x505A;&#xFF0C;Presenter&#x53EA;&#x8D1F;&#x8D23;&#x6BD4;&#x8F83;&#x590D;&#x6742;&#x7684;&#x3001;&#x9AD8;&#x5C42;&#x6B21;&#x7684;UI&#x64CD;&#x4F5C;&#xFF0C;&#x6240;&#x4EE5;&#x53EF;&#x4EE5;&#x628A;&#x5B83;&#x770B;&#x6210;&#x4E00;&#x4E2A;Supervising Controller&#x3002;<br/>Supervising Controller&#x6A21;&#x5F0F;&#x4E0B;&#x7684;&#x4F9D;&#x8D56;&#x548C;&#x8C03;&#x7528;&#x5173;&#x7CFB;&#xFF1A;<br/>&#x56E0;&#x4E3A;Supervising Controller&#x7528;&#x5F97;&#x6BD4;&#x8F83;&#x5C11;&#xFF0C;&#x5BF9;&#x5B83;&#x7684;&#x8BA8;&#x8BBA;&#x5C31;&#x5230;&#x8FD9;&#x91CC;&#x4E3A;&#x6B62;&#x3002;<br/>MVVM<br/>MVVM&#x6A21;&#x5F0F;&#x6700;&#x65E9;&#x662F;&#x5FAE;&#x8F6F;&#x516C;&#x53F8;&#x63D0;&#x51FA;&#xFF0C;&#x5E76;&#x4E14;&#x5927;&#x91CF;&#x4F7F;&#x7528;&#x5728;.NET&#x7684;WPF&#x548C;Sliverlight&#x4E2D;&#x3002;2005&#x5E74;&#x5FAE;&#x8F6F;&#x5DE5;&#x7A0B;&#x5E08;John Gossman&#x5728;&#x81EA;&#x5DF1;&#x7684;&#x535A;&#x5BA2;&#x4E0A;&#x9996;&#x6B21;&#x516C;&#x5E03;&#x4E86;MVVM&#x6A21;&#x5F0F;&#x3002;<br/>MVVM&#x4EE3;&#x8868;&#x7684;&#x662F;Model-View-ViewModel&#xFF0C;&#x8FD9;&#x91CC;&#x9700;&#x8981;&#x89E3;&#x91CA;&#x4E00;&#x4E0B;&#x4EC0;&#x4E48;&#x662F;ViewModel&#x3002;ViewModel&#x7684;&#x542B;&#x4E49;&#x5C31;&#x662F; &#34;Model of View&#34;&#xFF0C;&#x89C6;&#x56FE;&#x7684;&#x6A21;&#x578B;&#xFF0C;&#x5B83;&#x7684;&#x542B;&#x4E49;&#x5305;&#x542B;&#x4E86;&#x4E1A;&#x52A1;&#x5BF9;&#x8C61;&#x6A21;&#x578B;&#xFF08;Domain Model&#xFF09;&#x548C;&#x89C6;&#x56FE;&#x7684;&#x72B6;&#x6001;&#xFF08;State&#xFF09;&#x3002; &#x5728;&#x56FE;&#x5F62;&#x754C;&#x9762;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x5F53;&#x4E2D;&#xFF0C;&#x754C;&#x9762;&#x6240;&#x63D0;&#x4F9B;&#x7684;&#x4FE1;&#x606F;&#x53EF;&#x80FD;&#x4E0D;&#x4EC5;&#x4EC5;&#x5305;&#x542B;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x7684;&#x4E1A;&#x52A1;&#x5BF9;&#x8C61;&#x6A21;&#x578B;&#xFF0C;&#x8FD8;&#x53EF;&#x80FD;&#x5305;&#x542B;&#x4E00;&#x4E9B;&#x4E1A;&#x52A1;&#x5BF9;&#x8C61;&#x6A21;&#x578B;&#x4E0D;&#x5305;&#x542B;&#x7684;&#x89C6;&#x56FE;&#x72B6;&#x6001;&#xFF0C;&#x4F8B;&#x5982;&#x7535;&#x5B50;&#x8868;&#x683C;&#x7A0B;&#x5E8F;&#x4E0A;&#x9700;&#x8981;&#x663E;&#x793A;&#x5F53;&#x524D;&#x6392;&#x5E8F;&#x7684;&#x72B6;&#x6001;&#x662F;&#x987A;&#x5E8F;&#x7684;&#x8FD8;&#x662F;&#x9006;&#x5E8F;&#x7684;&#xFF0C;&#x800C;&#x8FD9;&#x662F;Domain Model&#x6240;&#x4E0D;&#x5305;&#x542B;&#x7684;&#xFF0C;&#x4F46;&#x4E5F;&#x662F;&#x9700;&#x8981;&#x663E;&#x793A;&#x7684;&#x4FE1;&#x606F;&#x3002;<br/>&#x53EF;&#x4EE5;&#x7B80;&#x5355;&#x628A;ViewModel&#x7406;&#x89E3;&#x4E3A;&#x9875;&#x9762;&#x4E0A;&#x6240;&#x663E;&#x793A;&#x5185;&#x5BB9;&#x7684;&#x6570;&#x636E;&#x62BD;&#x8C61;&#xFF0C;&#x548C;Domain Model&#x4E0D;&#x4E00;&#x6837;&#xFF0C;ViewModel&#x66F4;&#x9002;&#x5408;&#x7528;&#x6765;&#x63CF;&#x8FF0;View&#x3002;<br/>MVVM&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x548C;MVP&#x57FA;&#x672C;&#x4E00;&#x6837;&#xFF0C;&#x53EA;&#x4E0D;&#x8FC7;&#x662F;&#x628A;P&#x6362;&#x6210;&#x4E86;VM&#xFF1A;<br/>MVVM&#x7684;&#x8C03;&#x7528;&#x5173;&#x7CFB;&#x4E5F;&#x548C;MVP&#x4E00;&#x6837;&#x3002;&#x4F46;&#x662F;&#xFF0C;&#x5728;ViewModel&#x5F53;&#x4E2D;&#x4F1A;&#x6709;&#x4E00;&#x4E2A;&#x53EB;Binder&#xFF0C;&#x6216;&#x8005;&#x53EB;Data-binding engine&#x7684;&#x4E1C;&#x897F;&#x3002;&#x4EE5;&#x524D;&#x5168;&#x90E8;&#x7531;Presenter&#x8D1F;&#x8D23;&#x7684;View&#x548C;Model&#x4E4B;&#x95F4;&#x6570;&#x636E;&#x540C;&#x6B65;&#x7684;&#x64CD;&#x4F5C;&#x4EA4;&#x7531;&#x7ED9;Binder&#x5904;&#x7406;&#x3002;&#x4F60;&#x53EA;&#x9700;&#x8981;&#x5728;View&#x7684;&#x6A21;&#x7248;&#x8BED;&#x6CD5;&#x5F53;&#x4E2D;&#xFF0C;&#x6307;&#x4EE4;&#x5F0F;&#x5730;&#x58F0;&#x660E;View&#x4E0A;&#x7684;&#x663E;&#x793A;&#x7684;&#x5185;&#x5BB9;&#x662F;&#x548C;Model&#x7684;&#x54EA;&#x4E00;&#x5757;&#x6570;&#x636E;&#x7ED1;&#x5B9A;&#x7684;&#x3002;&#x5F53;ViewModel&#x5BF9;&#x8FDB;&#x884C;Model&#x66F4;&#x65B0;&#x7684;&#x65F6;&#x5019;&#xFF0C;Binder&#x4F1A;&#x81EA;&#x52A8;&#x628A;&#x6570;&#x636E;&#x66F4;&#x65B0;&#x5230;View&#x4E0A;&#x53BB;&#xFF0C;&#x5F53;&#x7528;&#x6237;&#x5BF9;View&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#xFF08;&#x4F8B;&#x5982;&#x8868;&#x5355;&#x8F93;&#x5165;&#xFF09;&#x65F6;&#xFF0C;Binder&#x4E5F;&#x4F1A;&#x81EA;&#x52A8;&#x628A;&#x6570;&#x636E;&#x66F4;&#x65B0;&#x5230;Model&#x4E0A;&#x53BB;&#x3002;&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x79F0;&#x4E3A;&#xFF1A;Two-way data-binding&#xFF0C;&#x53CC;&#x5411;&#x6570;&#x636E;&#x7ED1;&#x5B9A;&#x3002;&#x53EF;&#x4EE5;&#x7B80;&#x5355;&#x800C;&#x4E0D;&#x6070;&#x5F53;&#x5730;&#x7406;&#x89E3;&#x4E3A;&#x4E00;&#x4E2A;&#x6A21;&#x7248;&#x5F15;&#x64CE;&#xFF0C;&#x4F46;&#x662F;&#x4F1A;&#x6839;&#x636E;&#x6570;&#x636E;&#x53D8;&#x66F4;&#x5B9E;&#x65F6;&#x6E32;&#x67D3;&#x3002;<br/>&#x4E5F;&#x5C31;&#x662F;&#x8BF4;&#xFF0C;MVVM&#x628A;View&#x548C;Model&#x7684;&#x624B;&#x5DE5;&#x540C;&#x6B65;&#x903B;&#x8F91;&#x81EA;&#x52A8;&#x5316;&#x4E86;&#x3002;&#x4EE5;&#x524D;Presenter&#x8D1F;&#x8D23;&#x7684;View&#x548C;Model&#x540C;&#x6B65;&#x4E0D;&#x518D;&#x624B;&#x5DE5;&#x5730;&#x8FDB;&#x884C;&#x64CD;&#x4F5C;&#xFF0C;&#x800C;&#x662F;&#x4EA4;&#x7531;&#x6846;&#x67B6;&#x6240;&#x63D0;&#x4F9B;&#x7684;Binder&#x8FDB;&#x884C;&#x8D1F;&#x8D23;&#x3002;&#x53EA;&#x9700;&#x8981;&#x544A;&#x8BC9;Binder&#xFF0C;View&#x663E;&#x793A;&#x7684;&#x6570;&#x636E;&#x5BF9;&#x5E94;&#x7684;&#x662F;Model&#x54EA;&#x4E00;&#x90E8;&#x5206;&#x5373;&#x53EF;&#x3002;<br/>&#x8FD9;&#x91CC;&#x6709;&#x4E00;&#x4E2A;Javascri&#112;t MVVM&#x7684;&#x4F8B;&#x5B50;&#xFF0C;&#x56E0;&#x4E3A;MVVM&#x9700;&#x8981;Binder&#x5F15;&#x64CE;&#x3002;&#x6240;&#x4EE5;&#x4F8B;&#x5B50;&#x4E2D;&#x4F7F;&#x7528;&#x4E86;&#x4E00;&#x4E2A;MVVM&#x7684;&#x5E93;&#xFF1A;Vue.js&#x3002;<br/>MVVM&#x6A21;&#x5F0F;&#x7684;&#x4F18;&#x70B9;<br/>&#x25A0; &#x63D0;&#x9AD8;&#x53EF;&#x7EF4;&#x62A4;&#x6027;&#x3002;&#x89E3;&#x51B3;&#x4E86;MVP&#x5927;&#x91CF;&#x7684;&#x624B;&#x52A8;View&#x548C;Model&#x540C;&#x6B65;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x63D0;&#x4F9B;&#x53CC;&#x5411;&#x7ED1;&#x5B9A;&#x673A;&#x5236;&#x3002;&#x63D0;&#x9AD8;&#x4E86;&#x4EE3;&#x7801;&#x7684;&#x53EF;&#x7EF4;&#x62A4;&#x6027;&#xFF1B;<br/>&#x25A0; &#x7B80;&#x5316;&#x6D4B;&#x8BD5;&#x3002;&#x56E0;&#x4E3A;&#x540C;&#x6B65;&#x903B;&#x8F91;&#x662F;&#x4EA4;&#x7531;Binder&#x505A;&#x7684;&#xFF0C;View&#x8DDF;&#x7740;Model&#x540C;&#x65F6;&#x53D8;&#x66F4;&#xFF0C;&#x6240;&#x4EE5;&#x53EA;&#x9700;&#x8981;&#x4FDD;&#x8BC1;Model&#x7684;&#x6B63;&#x786E;&#x6027;&#xFF0C;View&#x5C31;&#x6B63;&#x786E;&#x3002;&#x5927;&#x5927;&#x51CF;&#x5C11;&#x4E86;&#x5BF9;View&#x540C;&#x6B65;&#x66F4;&#x65B0;&#x7684;&#x6D4B;&#x8BD5;&#xFF1B;<br/>MVVM&#x6A21;&#x5F0F;&#x7684;&#x7F3A;&#x70B9;<br/>&#x25A0; &#x8FC7;&#x4E8E;&#x7B80;&#x5355;&#x7684;&#x56FE;&#x5F62;&#x754C;&#x9762;&#x4E0D;&#x9002;&#x7528;&#xFF0C;&#x6216;&#x8BF4;&#x725B;&#x5200;&#x6740;&#x9E21;&#xFF1B;<br/>&#x25A0; &#x5BF9;&#x4E8E;&#x5927;&#x578B;&#x7684;&#x56FE;&#x5F62;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#xFF0C;&#x89C6;&#x56FE;&#x72B6;&#x6001;&#x8F83;&#x591A;&#xFF0C;ViewModel&#x7684;&#x6784;&#x5EFA;&#x548C;&#x7EF4;&#x62A4;&#x7684;&#x6210;&#x672C;&#x90FD;&#x4F1A;&#x6BD4;&#x8F83;&#x9AD8;&#xFF1B;<br/>&#x25A0; &#x6570;&#x636E;&#x7ED1;&#x5B9A;&#x7684;&#x58F0;&#x660E;&#x662F;&#x6307;&#x4EE4;&#x5F0F;&#x5730;&#x5199;&#x5728;View&#x7684;&#x6A21;&#x7248;&#x5F53;&#x4E2D;&#x7684;&#xFF0C;&#x8FD9;&#x4E9B;&#x5185;&#x5BB9;&#x662F;&#x6CA1;&#x529E;&#x6CD5;&#x53BB;&#x6253;&#x65AD;&#x70B9;debug&#x7684;&#xFF1B;<br/>&#x7ED3;&#x8BED;<br/>&#x53EF;&#x4EE5;&#x770B;&#x5230;&#xFF0C;&#x4ECE;MVC-&gt;MVP-&gt;MVVM&#xFF0C;&#x5C31;&#x50CF;&#x4E00;&#x4E2A;&#x6253;&#x602A;&#x5347;&#x7EA7;&#x7684;&#x8FC7;&#x7A0B;&#xFF0C;&#x540E;&#x8005;&#x89E3;&#x51B3;&#x4E86;&#x524D;&#x8005;&#x9057;&#x7559;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x628A;&#x524D;&#x8005;&#x7684;&#x7F3A;&#x70B9;&#x4F18;&#x5316;&#x6210;&#x4E86;&#x4F18;&#x70B9;&#x3002;&#x540C;&#x6837;&#x7684;Demo&#x529F;&#x80FD;&#xFF0C;&#x4EE3;&#x7801;&#x4ECE;&#x6700;&#x5F00;&#x59CB;&#x7684;&#x4E00;&#x5806;&#x6587;&#x4EF6;&#xFF0C;&#x4F18;&#x5316;&#x6210;&#x4E86;&#x6700;&#x540E;&#x53EA;&#x9700;&#x8981;20&#x51E0;&#x884C;&#x4EE3;&#x7801;&#x5C31;&#x5B8C;&#x6210;&#x3002;MV*&#x6A21;&#x5F0F;&#x4E4B;&#x95F4;&#x7684;&#x533A;&#x5206;&#x8FD8;&#x662F;&#x86EE;&#x6E05;&#x6670;&#x7684;&#xFF0C;&#x5E0C;&#x671B;&#x53EF;&#x4EE5;&#x7ED9;&#x5BF9;&#x8FD9;&#x4E9B;&#x6A21;&#x5F0F;&#x7406;&#x89E3;&#x6BD4;&#x8F83;&#x6A21;&#x7CCA;&#x7684;&#x540C;&#x5B66;&#x5E26;&#x6765;&#x4E00;&#x4E9B;&#x53C2;&#x8003;&#x548C;&#x601D;&#x8DEF;&#x3002;<br/>&#x5EF6;&#x4F38;&#x9605;&#x8BFB;<br/>[1].MVC&#x3001;MVP&#x3001;MVVM&#x7684;&#x533A;&#x522B;&#x548C;&#x8054;&#x7CFB;&#xFF1A;http://c.biancheng.net/view/7743.html</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.078&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x4D;&#x56;&#x43;&#x3001;&#x4D;&#x56;&#x50;&#x548C;&#x4D;&#x56;&#x56;&#x4D;&#x4E09;&#x79CD;&#x6A21;&#x5F0F;&#x7684;&#x4F18;&#x7F3A;&#x70B9;&#x548C;&#x533A;&#x522B;&#x5B;&#x8F6C;&#x5D;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.078&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.078&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
