原文地址:[PHP设计模式(六):MVC][1]
Introduction
20世纪80年代,计算机发展迅速,编程技术也日益分化。桌面应用编程,也逐渐出现了用户图形界面和程序逻辑分离的程序设计。到了90年代,web的出现更是让这种程序设计模式得以延续。
这种设计模式便是MVC(Model-View-Control),除了MVC,还有MVC的变种,如MVVM(Model-View-View-Model)等。
MVC
回到80年代的桌面应用编程,当时面向对象的编程设计模式(见PHP设计模式(一):基础编程模式)兴起,程序员将桌面应用分割成两个大的对象:领域对象(domain objects)和可视对象(presentatio
继续阅读 »
很多人觉得,前后端的差异主要是分别承载了数据和样式,功能和皮肤。前端就是视觉方面的,后端是实质性的。追溯到很多年前,确实是这样的,所谓的前端只是由于后端MVC中的View过于复杂,为了提升用户体验,提高加载速度,以及降低服务器压力,所衍生出的一些优化技术。
继续阅读 »
在iOS开发的过程中,你肯定听说过MVC
下面记录下个人对这种设计模式的理解,顺便谈谈衍生的MVVM设计模式。
继续阅读 »
service
概述
后台运行,不可见,没有界面。(在activity中完成的事物,在服务中也可以完成)
优先级别高于activity
应用场景:eg:
1. 后台播放音乐
2. 后台下载应用
3. 记录GPS位置 监听某一特定的动作
4. 处理数据,处理当前不一定及时需要展现给用户的数据
5. 进入应用时加载本地资源(数据库等) 在后台操作提高交互性
6. 全家桶唤醒
7. ……
全家桶
生命周期
创建服务
要创建服务,您必须创建 Service 的子类(或使用它的一个现有子类)。在实现中,您需要重写一些回调方法,以处理服务生命周期的某些关键方面并提供一种机制将组件绑定到服务(如适用)。 应重写的最重要的回
继续阅读 »
以前一直在使用ssh、ssi、guice等框架,SpringMVC也是一个比较火热的技术,一直没有实际体验过。目前在考虑某个项目的技术架构,考虑到了该技术,最近也在熟悉spring mvc方面的信息。
简介
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
继续阅读 »
问题描述
项目使用SpringMVC框架,并用jackson库处理JSON和POJO的转换。在POJO转化成JSON时,有些属性我们不需要输出或者有些属性循环引用会造成无法输出。
例如:实体User其中包括用户名、密码、邮箱等,但是我们在输出用户信息不希望输出密码、邮箱信息;
例如:实体user和department是多对一的关系,user内保存着department的信息,那么json输出时会导致这两个实体数据的循环输出;
jackson默认可以使用JsonIgnoreProperties接口来定义要过滤的属性,然后使用ObjectMapper#addMixInAnnotations来设置对应实体对应的JsonIgnorePr
继续阅读 »
Struts2简介
Struts2是由传统的Struts1、WebWork两个经典的MVC框架发展起来,如下图所示,无论从Struts2设计的角度还是在实际项目中的易用性来看,Struts2都是一个非常优秀的MVC框架,当然目前还有另外一个非常优秀的MVC框架——SpringMVC,以后再对它进行介绍。
实现Action
Struts2的Action类是一个普通的POJO(通常应该包含一个无参数的execute方法),Struts2直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的实例变量,并且为这些实例变量提供对应的setter和getter方法。注意其实实例变量是可以省略的,因为
继续阅读 »
元旦放假一天,由于太宅,于是有了新年第一个产出。主题来源于这一周在项目中使用 AngularJS 所遇到的问题,在此做一个使用笔记,以加深对 AngularJS 的理解。本人文笔不行,如文章被有幸浏览到,还请各位童鞋多多提意见。
AugularJS 简单介绍
AngularJS 由 Google 倾力打造的前端 JavaScript 工具。这里只说它是“工具”,没说它是完整的“框架”,是因为它并不是定位于去完成一套框架要做的事。更重要的,是它给我们提供了一种新的应用组织与开发方式。与其他许多模版系统最大的不同在于,他直接扩展了现有的 HTML 架构,透过声明式语言 (Directives Syntax)直接赋予 HTML 新的功
继续阅读 »
引言
有感于hexo高级教程实在太少,当初本人在开发Nova主题时,曾遇到过不少坑,为填这些坑,较为深入地学习了hexo源码,又自学了不少node.js知识,才总算将这些坑基本填完。本着人人为我,我为人人的分享精神,特开一hexo高级教程专题,希望广大hexo爱好者拍砖~
本系列的定位为高级教程,所以要求读者具备以下知识或技能:
前端技术:前端基础知识不用说了,必须要具备的比如HTML,CSS,Javascript,Node.js。如果知识储备不足,推荐去W3C School好好学习。
hexo模板:hexo中的layout模板都是使用某个具体的模板引擎写的,模板引擎有swig,ejs,jade等。layout可以视为MVC模
继续阅读 »
#解决@ResponseBody 406
使用SpringMvc的 @ResponseBody,想返回Json,出现406
经google得知需要如下配置。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJackson2HttpMessageConverter" /><!-- json转换器 -->
继续阅读 »