基于ASP.NET MVC 与MVVM 技术的小型网站框架开发及应用

2020-08-11 04:10余佳恕
科学技术创新 2020年20期
关键词:功能模块二次开发框架

余佳恕

(广东技术师范大学教育科学与技术学院,广东 广州510450)

1 开发背景

近年来,互联网行业的高速发展,网站需求日趋多样,开发技术不断更新换代,网站框架技术的应用也十分广泛。比如网站前端常用的框架:Angular、React、MVVM模式的Vue 等;网站后端根据不同开发语言有不同的框架,比如Mybasic、Spring MVC、ThinkPHP 等。Asp.net 语言则一般采用ASP.NET MVC 或ASP.NET Core 框架。这些开源的框架,都是为了更加有效地提升我们网站建设的效率。通用的网站框架都有一个共同的特点,就是简单、高效、灵活,这极大的提高了我们的开发效率。一般的网站框架是实现某种功能的半成品,提供了一些常用的工具类和一些基础通用化的组件,可以供开发人员在此基础上,更高效的满足各自的业务需求。本文阐述了一个基于ASP.NET MVC 与MVVM技术的小型网站框架开发与应用,该小型网站框架可应用于不用行业的网站,例如公司官网、教育机构网站、学校网站、学习平台等。目前该网站框架已开发出不同的功能模块,实现业务的时候只需要调用起来即可,另外,提供了众多的可扩展API,可以用于二次开发。

2 框架的实现关键技术

2.1 使用MVVM设计模式

MVVM 是Model-View-ViewModel 的简写[1],它是一种基于前端开发的架构模式,十分契合当今Web 前端开发的需求。我们先来理解它的核心思想,MVVM 核心是提供对View 和ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给View,即所谓的数据双向绑定[2]。那么,什么是MVVM呢?在MVVM设计模式下,View和Model 之间其实并没有直接的联系,而是通过ViewModel 进行交互,Model 和ViewModel 之间的交互是双向的因此View 数据的变化会同步到Model 中,而Model 数据的变化也会立即反应到View 上。Model 层代表数据模型,也可以在Model 中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View和Model 的对象。我们可以通过它的技术模型来理解它们三者的关系,它的设计模型如图1 所示。

2.2 ASP.NET MVC 模式

ASP.NET MVC 是微软公司所开发MVC 模式的ASP.NET Web 应用程序框架[3],是网站开发框架的一种结构体系。ASP.NET 开发的Web 程序,通过系统化的调试以及测试后,就可以将其部署在IIS 服务器程序,用户通过互联网访问。它十分易于开发,使得测试更加快速和简捷。先分别来理解它的模型、视图、控制器三层:Model(模型)表示应用程序核心(数据库记录列表);View(视图)显示数据(数据库记录);Controller(控制器)处理输入(写入数据库记录)[4]。它分离了显示模块与功能模块,提高了程序的可维护性、可移植性、可扩展性与可重用性[5],降低了程序的开发难度。MVC 各部分关系如图所示:

图1 MVVM 设计模式的技术模型

图2 MVC 各部分关系图

3 小型网站框架的功能模块与应用实现

3.1 数据库设计

该网站框架是采用SQL server 2014 数据库,它具有可伸缩性好、使用方便、与相关软件集成程度高等优点[6]。这里根据不同的功能模块需求进行数据表的设计,通用功能部分为用户表、文章表、栏目表、文件资源表以及系统日志表;业务与扩展模块的数据表设计我们根据实际情况进行扩展设计,以便用于业务功能二次开发,这里不一一列举。

3.2 框架的功能模块

该框架是基于B/S 结构,具有一定的安全性、稳定性、灵活变化。网站框架功能结构是根据不同模块进行模块化开发的,主要分为用户管理、文章管理、栏目管理、文件管理、系统信息与安全管理5 个通用模块以及业务与扩展1 个延伸模块组成。图3 是网站框架主要功能模块结构图。

图3 网站框架主要功能模块结构图

(1)用户管理模块:该模块包括使用权限与个人信息两部分,包括用户的添加、修改、删除、激活、禁用、调动和密码初始化、个人信息修改等。不同用户有不同的功能,这里按照权限最小化、功能独立化的原则,其中管理员拥有最高权限。

(2)文章管理模块:该模块包括类别、通知公告、留言、评论、关键字查询等文章内容的管理,用户可以在这里添加、修改、删除、审核、查询文章等。

(3)栏目管理模块:该模块的功能有栏目的新增、删除、审核、转移、修改、合并、置顶、显示/隐藏栏目等操作,网站首页的二级菜单栏以及网站的各个栏目板块都可以在这里设置。

(4)文件管理模块:该模块包括网站所有文件资源的增删改查功能,用户上传的附件是分类别进行管理的;用户在进行操作时也可以选择好已上传的附件等。

(5)系统信息与安全管理模块:该模块可以修改网站名称、风格、端口、FTP 的目录、邮件服务器等。安全管理功能是指用户的登录记录、操作操作等都会被自动记录到系统安全日志表。同时密码采用md5 加密技术;单点登录以及限制登录次数;同时登录验证的时候支持帐号密码、验证码、密保问题、绑定数字证书证书四道安全程序。

(6)业务与扩展开发模块:该模块该小型网站框架最具特色的地方,除了通用的网站管理功能之外,并且可以对系统进行业务扩展开发。针对不用的需求,制定不同业务逻辑。在后台通过添加数据表表、数据段,然后进行其他功能业务的扩展。当然,这需要进行二次开发来完善的,这部分功能只提供了扩展接口。

3.3 框架的应用实现

该网站框架具有以下特点:(1)代码模板化,公共创建公共类、接口实现。(2)重用性、通用性。不分行业,只要功能相似就可以稍加修改即可使用(3)高内聚,框架各种基础的功能都封装好了,只需要在使用的时候调用就可以。(4)支持扩展开发。以下是利用该网站框架进行二次开发、自主完善的网站系统具体应用:某小型公司展示网站与某小型学习平台的后台管理系统。

4 结论

图4 网站框架实例应用一

图5 网站框架实例应用二

该网站框架对使用者功能结构一目了然,可使用不同的功能模块。如果有其他需求,可根据具体业务逻辑进行二次开发。这是该网站框架开发最具特色的地方,合理运用好框架才能够更好的将其优势发挥出来。同时也是有利也有弊,有时候框架中会有很多根本用不到的功能模块的代码,存在局限性。总的来说,基于ASP.NET MVC 与MVVM技术的小型网站框架开发及应用是以Web 程序员编程思维为基准去考虑的。通过开发出一个结构清晰、层次分明、模块化的小型网站框架。为网站开发人员提供了这样一个小框架,促使网站在开发技术上更快速与高效,对互联网行业也有一定的使用价值与意义。

猜你喜欢
功能模块二次开发框架
有机框架材料的后合成交换
框架
浅谈Mastercam后处理器的二次开发
例谈课本习题的“二次开发”
商业模式是新媒体的核心
基于ASP.NET标准的采购管理系统研究
高校二手交易网络平台功能及技术框架分析与设计
关于原点对称的不规则Gabor框架的构造
我国在WYO框架下面对的贸易保护现状及应对
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用