zoukankan
html css js c++ java
多层的一个框 架
宝贝记个性签名系统架构分析
这个签名系统采用了三层架构,见下图
图片附件
:
绘图4.gif
(2006-10-26 23:50, 5.92 K)
数据实体层
对应MYSQL数据库里面的表结构,每个数据实体存储的就是一条记录。
数据访问层
封装了对数据库的访问操作,包括增删修改,调用存储过程,把取出的记录构造成数据实体,返回给业务逻辑层。
业务逻辑层
封装了对数据的一些逻辑操作过程。
Web应用层
包含了页面显示的aspx文件和处理数据输入输出的cs文件。
我使用了VS2005来开发这个系统,因为系统很小,所以采用了VS2005的SiteApplication开发模型,原则上每一层都应该有一个独立的工程Project,但是因为系统较小,我都放到了同一个Project里面,而采用不同的目录来划分这几层。
见下图
图片附件
:
未命名.gif
(2006-10-26 23:50, 23.89 K)
Component是我实现的组件类,主要是实现的计划任务,每天定时更新生成签名图片。IJob是一个接口类,GenerateImageJob是实现这个接口的具体类,Jobs负责来调度这些GenerateImageJob等不同的Job,当然我的系统里现在只有一种Job,以后要增加不同功能的计划任务的话,只要设计一个实现IJob接口的类就可以了。
Code.aspx和Default.aspx属于Web应用层,我们能访问到的也就是这两个页面,可能有的人觉得一共就两个页面有必要搞那么多层吗?可能小系统看不出太大的好处来,但是系统一大,优点就很明显了。
比如我们更换了数据库,比如MySQL换成了SQL,那我们只要修改数据访问层就可以了,其他几层都不用修改。而且我还可以使用数据适配器工厂和数据访问接口来同时支持多个不同类型的数据库。
如果我们的一些业务逻辑发生了,只要修改业务逻辑层即可。
如果要修改页面层呈现方式,只要修改aspx页面即可。
每一层都专注于某个方面的功能实现,这样系统修改和维护就非常方便,而且大的系统还可以有不同的人同时来实现不同的层,比如美工负责页面显示,业务专家实现业务逻辑层,数据访问层由数据库管理员来实现。
看Discuz的代码可以发现,它的系统里面只是实现了页面显示和代码的分离,也就是和.NET里面的aspx和cs文件关系差不多,没有实现面向对象的分层机制,所以把数据库访问和逻辑操作都混杂在php文件里面,修改、二次开发和制作模版都不是很方便。
相对来说我更喜欢.NET一些,C#语法优美,程序运行性能好,用VS2005开发效率也比较高,而且.NET2.0里面包含了更多强大的功能,包括换肤,国际化,用户管理等等。
当然php也有它的优点,语法简洁,比较灵活,运行效率也还不错,在unix系统上比较流行。
世界上没有最完美的程序语言,任何语言都有利有弊。语言只是一种工具,针对不同的问题,选择最适合自己的语言来开发才是王道。
而且任何问题也不是只有一种解决方法,不同的情况有不同的解决方案,要辩证地看待问题,选择合理适合的解决方案。
扯远了,呵呵
查看全文
相关阅读:
14. 最长公共前缀-字符串-简单
13. 罗马数字转整数-字符串-简单
12. 整数转罗马数字-字符串-中等难度
48. 旋转图像-数组-中等难度
6. Z 字形变换-字符串-中等难度
39. 组合总和-dfs回溯-中等难度
【STM32F407开发板用户手册】第23章 STM32F407的USART串口基础知识和HAL库API
【STM32F429开发板用户手册】第22章 STM32F429的SysTick实现多组软件定时器
【STM32F407开发板用户手册】第22章 STM32F407的SysTick实现多组软件定时器
【STM32F429开发板用户手册】第21章 STM32F429的NVIC中断分组和配置(重要)
原文地址:https://www.cnblogs.com/fuyingke/p/561280.html
最新文章
LuoguP6694 强迫症 找规律+NTT
【考试题
【考试题
LOJ#3058. 「HNOI2019」白兔之舞 单位根反演+矩阵乘法+MTT
LOJ#3087. 「GXOI / GZOI2019」旅行者 二进制分组+Dijkstra
LOJ#2302. 「NOI2017」整数 线段树+压位
4_面向对象-上之面向对象的特征一:封装性
4_面向对象-上之属性和方法
4_面向对象-上之类与对象
3_数组
热门文章
2_基本语法之流程控制之关键字:break和continue
2_基本语法之流程控制之循环结构
2_基本语法之流程控制之分支结构
2_基本语法之运算符
2_基本语法之进制
2_基本语法之变量的使用(重点)
项目管理——高效的团队沟通与协作工具
没有目标的项目是在做无用功
项目管理:项目管理中的管人和管事
15. 三数之和-HashMap-中等难度
Copyright © 2011-2022 走看看