Asp.net MVC 3 开发企业网站系统仿照博客园部分功能--总体设计

简介: 在使用Asp.net MVC3 开发企业网站系统的提议得到了广大园友的热情鼓励,也使我更加有信心和决心把这个简单的系统完成的希望。 前两篇索引:Asp.net MVC 3 开发一个简单的企业网站系统      Asp.net MVC 3 开发简单的企业系统开篇--数据库 麻雀虽小,五脏俱全。

在使用Asp.net MVC3 开发企业网站系统的提议得到了广大园友的热情鼓励,也使我更加有信心和决心把这个简单的系统完成的希望。

前两篇索引:Asp.net MVC 3 开发一个简单的企业网站系统      Asp.net MVC 3 开发简单的企业系统开篇--数据库

麻雀虽小,五脏俱全。做一个小的企业网站我们也不能例外,上篇我们说了做这个网站应该具有的数据库设计阶段。按照工程理论来说,我们应该进行的就是总体设计了。

好吧,废话不多说,咱们一起来讨论一下这个简单网站的总体设计应该如何进行。

首先,我们确定具体的功能以及采用的实现接口。

1.登录、用户注册。说实话,在 企业网站中一般不需要用户的注册,但是因为我们仿照的是博客园,我们天天都会来的地方,所以也加上用户登录和注册功能。

当然,只要涉及到用户的功能,那么权限管理也应该是必需品了。

2.用户的权限管理组件。在MVC中处理这个相对Web form 要简单很多,可以在注册全局Filter特性来完成这个功能。

3.博客园左侧的分类列表显示

对于这个功能,当然我想首选肯定就是MVC中经典的PartialView。

4.博客园首页中间部分的博客列表功能。这个博客园采用的是Ajax方式进行的异步提交方式,当然这涉及到无刷新,提高用户体验的功能。我们也不能落后,采用的依然就是Ajax+Json的处理方式,当然分页是一个问题。需要采用分页组件,我能想到的就是MVCPager,不知道园友们有没有其他组件或者更有效的分页方法。

5.博客详细内容页面。这个应当是所有要实现的内容中最简单的一个,至少我个人是这么觉得。不要鄙视我奥

6.博客评论页面。采用KindEditor在线编辑器,使用户进行评论。我起初的设想是把这个评论显示页面也做成PaitialView的形式,也是采用Ajax进行提交。但是这样做,我心理总是感觉怪怪的,但是也找不到更好的办法,如果各位园友有什么好办法,请您务必告诉我,让我的大脑也见识一下。

7.搜索功能。类似于博客园的找找看功能,这个当然就是用到我前面所列举的框架中的伟大的Lucene的移植版本—Lucene.net。吐槽一下,为了更好、更有效率的实现搜索,我把博客园中关于Lucene.net的文章基本看了一遍,但是我发现所用版本都是2.3,而现在最新版已经是3.0了,所以我果断的从官网下载了最新版,我准备把3.0版研究一下,但是没有对应的文档,如果各位有什么好的全面的资料。请告诉我。

还有就是当然采用Lucene.net 3.0是必须的,但是中文分词,采用的是大牛的盘古(很霸气的名字)分词2.3版。

当然还有一个不得不提,就是程序自动化。Quartz的移植版本Quartz.net到来了,我们会使用它定时的使用Lucene.net建立索引,毕竟机器比人准时很多。

8.说了前台了,还有很重要的后台管理,前后台搭配,干活也不累。后台采用的就是easyui,当然还有很多其他的基于jquery的框架,我脑袋笨,只能采用easy的了。

9.性能优化。我常听我老大说,做一个网站很简单,网上一找一大堆,但是真正达到需求的不多。其中,性能就是一个因素。性能优化,硬件上固然重要,但是在软件上下功夫更节省。

各种免费的性能优化的工具当然我们要采用了,缓存就是首选,Memcached就是我的选择,你问我为什么不用自带缓存而用Memcached?我只能说是我在公司就用这个,而且这个扩展性高,自带的缓存功能弱,扩展性差,不灵活。

10.说完了性能,当然人无完人,程序也会出错。现在就是日志出马的时候了。再来一个就是Log4的移植版本Log4Net了,可以记录日志到文本、数据库等存储介质中。

11.可能大家要说了,怎么没看见曾经提到过的其他框架了,是不是因为不会而不敢使用了!其实真有这个可能,但是我是一个顽强的不倒翁,自夸呵呵。Ioc(依赖注入)、Nhibernate(Entity framework)还有Npoi.net都不属于要实现的功能范围内,这些只是减少我们维护代码的时间,减少出错的几率。但是他们更复杂,更值得我们研究学习,至少我这么觉得。

Npoi.net就是一个对Excel进行操作的组件,可以对Excel进行360度的操作,只有想不到,没有做不到。使用他就是为了导入数据需要。毕竟新建的系统中数据是空的,导入一些看着也舒服。

好了,本来要说总体设计的,没想到扯来扯去竟然说了那么多废话,唉,离高手还有很远啊!

道路仍然很远,同志们仍须努力~~~~

不写了,打了那么多字,累死了,看会电视先

我又回来了,回到了技术最前线,
相关文章
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
37 4
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
41 0
|
9天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
99 5
|
2月前
|
设计模式 存储 前端开发
Java Web开发中MVC设计模式的实现与解析
Java Web开发中MVC设计模式的实现与解析
|
2月前
|
SQL 开发框架 .NET
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
67 0
|
3月前
|
前端开发 JavaScript 关系型数据库
.NET开源、强大的Web报表统计系统
.NET开源、强大的Web报表统计系统
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0