Web开发常见的软件架构

一、看需求分析,看产品PRD:Product Requirement Document

二、根据PRD和产品原型建数据库表,注意三范式要求,用工具到处数据库关系图,并快速地理清数据库思路

三、搭建项目架构,常用三层,自动生成器,如东软或者CodeSmith等

搭建框架:

1.System.DAL

数据访问层,常用生成器生成基本增删改查的代码;或者用EF + Linq编写复杂的数据访问方法。

2.System.BLL

业务逻辑层,根据具体业务需求进行业务处理

3.System.Model

系统实体层,通常用代码生成工具自动生成基本的类;根据需求手动编写复杂的Model

4.System.Cache

缓存层,常见有Session Cache、MemCache等

5.Syste.Common

公共类,系统所需的所有公共方法都放在这里。

6.System.Logger

对于一个健壮性很强的系统,记录日志是必不可少的功能。常用Log4net组件

7.System.UnitTest

单元测试是必不可少的,TDD:Test Driven Development测试驱动开发,虽然费时费力,当时可以确保系统的高质量

8.System.Web

Web开发方式可以采用传统的ASP.Net拖拉空间的方式(当然,效率极其低下),也可以采用WebMethod+jQuery+Ajax异步提交方式,不仅性能高,而且用户体验好。

此外,还可以用ASP.Net MVC开发。

9.System.WCF

除此之外,若需要和第三方系统进行连调,调用对方的服务,一个WCF层是必不可少的。

Web开发常见的软件架构相关推荐

  1. Web开发常见的几个漏洞解决方法

    平时工作,多数是开发Web项目,由于一般是开发内部使用的业务系统,所以对于安全性一般不是看的很重,基本上由于是内网系统,一般也很少会受到攻击,但有时候一些系统平台,需要外网也要使用,这种情况下,各方面 ...

  2. web开发常见的几大安全问题

    一.SQL注入 SQL注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击.SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求 ...

  3. WEB开发常见错误提示

    HTTP 错误 400 400 请求出错  由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无法重复此请求. HTTP 错误 401  401.1 未授权:登录失败  此错误表明传输给服务 ...

  4. web开发中常见的安全漏洞及避免方法

    1.安全攻击 1.SQL.HTML.JS.OS命令注入 2.XSS跨站脚本攻击,利用站内信任的用户,在web页面插入恶意script代码 3.CSRF跨站请求伪造,通过伪装来自信任用户的请求来利用受信 ...

  5. Day14-HTTP协议 web开发概述 servlet快速入门

    HTTP:HyperText Transfer Protocol 超文本传输协议 用于定义web浏览器和web服务器之间交换数据的过程 特点: 基于请求/响应模型的协议.请求和相应必须成对出现,现有请 ...

  6. 【Web安全】Web开发中常见的安全误区

    安全是Web应用程序不容忽视的一个重要因素,而在Web应用开发中,一些开发者由于缺乏安全方面的意识,导致Web应用存在风险.下面来介绍Web开发中常见的一些安全误区. 如果我们使用Web框架,那么不必 ...

  7. Web开发人员最易犯下的十种常见错误

    对于如何完成同一项任务,摆在我们面前的方案选项似乎无穷无尽,特别是在开发一套能够运作在现代网络环境之下的网站时.Web开发人员首先需要挑选一套Web托管平台及底层数据存储机制,并利用由提供的工具编写H ...

  8. 移动端web开发--开发选择、技术解决方案、常见布局

    1.移动端开发选择 1.1 移动端主流方案 1.单独制作移动端页面(主流) 2.响应式页面兼容移动端(其次) 1.2单独移动端页面(主流) 通畅在网址域名前加m(mobile)可以打开移动端.通过判断 ...

  9. Web开发中的常见应用

    一.文件下载 文件下载功能是web开发中经常使用到的功能,使用HttpServletResponse对象就可以实现文件的下载. 文件下载功能的实现思路: 获取要下载的文件的绝对路径 获取要下载的文件名 ...

最新文章

  1. 注解报错_Java中的注解使用:全面性的总结一下
  2. boost::math::negative_binomial用法的测试程序
  3. Sentinel(二十一)之Sentinel Dashboard控制台日志路径设置
  4. Spring Cloud Hoxton正式发布,Spring Boot 2.2 不再孤单
  5. vue 懒人_Vue.js 中的实用工具方法【推荐】
  6. 商品领域ddd_为 Gopher 打造 DDD 系列:领域模型-资源库
  7. Java面试题全集中
  8. Html5视频播放代码
  9. html 判断输入的是手机号码,用js验证手机号码格式是否正确
  10. learn the python in hard way习题16~20的附加习题
  11. PHP网页文件扩展名,网页文件的扩展名有哪些
  12. 极客日报第 39 期:小米 11 不送充电器;阿里达摩院 2021 十大科技趋势发布!
  13. Redis-NoSql结构化数据库
  14. Error: unable to perform an operation on node ‘rabbit@rabbitma‘ please see diamostics infoxmation
  15. 关于红酒品质的python数据分析
  16. python2B 之 DataFrame 选取多列并进行赋值
  17. 那些散落在风中的密码
  18. Web开发-简单BBS论坛
  19. 遥控器为何用红外线?
  20. 人生第一个扩展——Github1s

热门文章

  1. PHP自动加载类—__autoload()和spl_autoload_register()
  2. linux中的apachectl是什么命令
  3. linux中iptables入门教程--设置静态防火墙
  4. 转换字符串中汉字为其拼音缩写(C#)
  5. DataGrid鼠标事件方法
  6. readelf和ldd分析elf文件
  7. 吴恩达老师深度学习视频课笔记:循环神经网络
  8. Ubuntu14.04 64位上配置终端显示git分支名称
  9. 【QT】Qtcreator的设计模式中将控件提升为自定义的控件
  10. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息