随着服务端逻辑复杂度的逐步提高PHP、ASP、JSP中的代码量开始急剧的增加,动态脚本不便于管理的弊端开始暴露。于是基于PHP、ASP、JSP的编程技术从数据与展现的分离,展现与逻辑的分离两个方面开始分化。
数据与展现的分离:随着主流浏览器开始支持CSS(Cascading Style Sheet级联样式单),出现了HTML+CSS的页面定义方式,这实现了初步的数据与展现的分离。但是HTML本身是非严谨的标记语言,并不适合用于描述数据。所以后来又有了XML+XSLT的页面定义方式,XML用于描述纯粹的数据,而XSLT(eXtensible Stylesheet Language)用于定义数据展现方式。
展现与逻辑的分离:为了实现展现与逻辑分离,开始出现了ASP+COM、JSP+Bean的编程模式。其主旨是将主要的逻辑代码从页面中剥离出来,并封装为可重用的组件。这种开发模式也被成为Model1。