如今绝大多数的Web应用程序都是用些主流的过程化语言来创建的,包括比较流行的PHP,ASP和CFML等。而这些使得表现层代码和数据层代码完全混在了一起。从代码清晰表达上来说,有经验的开发者或许能将数据从表示层进行分离,但这样做的难度很大,需要不断的尝试工作和详尽的计划来实现。MVC却能强制性的分离它们。当然,我们也需要做一些其他的工作来实现MVC,但是从总体设计考虑来看它能带来的好处绝对是不可估量的。像这种能强制使一个应用程序的输入,处理和输出进行分离的设计模式有三个核心要素,包括模型,视图和控制器。而这三者间各自处理不互相干涉,将能使我们的设计工作更加的简洁明了。下面将具体介绍一下这三者:
简单来说视图就是用户看到并进行操作的界面。在比较老式的Web应用程序中,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但已经涌现出了一批新的技术,包括Macromedia Flash,XML/XSL,WML等等这些标识语言。而怎样去处理应用程序的界面是我们开发一个程序面临的大问题,这时的MVC模型是一个很好的选择,因为它能给处理很多不同的视图。视图中是没有真正的处理的,它只是一种输出数据并能让用户来操作的方式。
模型用来体现数据和规则,它与数据格式没有关系。它能给不同的视图提供数据,拥有最多的处理任务。也因为这样的重复利用,使我们的代码能够得到简化,程序运行效率得到提升。
控制器主要用来接收用户的输入,它能通过调用模型和视图来完成用户的请求。而它自身是不会输出任何东西的,也不会进行其他的处理。它只是根据需要来决定调用什么模块来进行数据处理,然后根据模块判定使用什么视图来返回数据,从而实现用户的要求。
2.3 SQLite 数据库
SQLite遵守ACID的关系数据库管理系统,存在于较小的一个C库中。它是D.RichardHipp创建的公有领域项目。它直接连接到程序中成为一个主要部分,不像常见的客户端/服务器结构需要程序与之独立进行进程连接。它主要的通信协议是在编程语言内直接进行API调用,这将能降低我们总量的耗损,缩短处理时间。数据库整体以文件的形式存储在主机上,通过事件处理的方式进行锁定整个数据文件。
作为一种内嵌式的数据库,SQLite的数据库服务器就在程序中,并不需要进行另外的网络配置和管理。数据库的服务器和客户端运行在同一个进程中。这样可以减少网络访问的消耗,简化数据库管理,使你的程序部署起来更容易。所有需要你做的都已经和你的程序一起编译好了。
SQLite除了作为一个存储容器,还可以作为一个单纯的数据处理的工具。如果大小和复杂性合适,使用SQLite可以很容易地将应用程序所使用的数据结构转化为表,并保存在一个内在数据库中。使用这个简单功能你能操作关联的数据来完成复杂的任务页,并不用自己另外写算法去实现对数据结构的操作和排序。尽管SQLite是如此之小,却提供了如此之多的特色和性能。它支持ANSI SQL92的一个大子集(包括事务、视图、检查约束、关联子查询和复合查询等),还支持其它很多关系型数据库的特色,如触发器、索引、自动增长字段和LIMIT/OFFSET子句等。SQLite还有很多独特的特色,如内在数据库、动态类型和冲突解决。
3 系统开发环境与实现目标
3.1 开发环境
开发环境:VS 2012。
开发语言:ASP.NET+C#。
数据库: SQLite。
开发环境运行平台:Windows 7。 基于C#的个人云笔记系统设计(4):http://www.youerw.com/jisuanji/lunwen_35770.html