惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cisco Talos Blog
Cisco Talos Blog
K
Kaspersky official blog
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
AWS News Blog
AWS News Blog
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
Attack and Defense Labs
Attack and Defense Labs
Jina AI
Jina AI
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
H
Help Net Security
V
Visual Studio Blog
宝玉的分享
宝玉的分享
C
Cybersecurity and Infrastructure Security Agency CISA
T
Threat Research - Cisco Blogs
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
Latest news
Latest news
T
Tor Project blog
I
Intezer
美团技术团队
GbyAI
GbyAI
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Scott Helme
Scott Helme
Y
Y Combinator Blog
博客园 - 司徒正美
T
Tenable Blog
O
OpenAI News
N
News and Events Feed by Topic
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Google Online Security Blog
Google Online Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
Help Net Security
Help Net Security

博客园 - 春鱼

在文档中正确地使用中英文 文档还是程序? Smart Document 技术概述 拟成立Office团队 实现类型化的数据绑定(列表)控件 数据与操作的分离、数据实体设计及零、一与多(单体与集合)的辨证统一 设计一个 validatable control(可校验控件)、兼论“三级联动” 浅论taglib设计 HTC 编程思想 ASP后遗症种种 录友人一曲清歌 log4net 配置与应用 Visual SourceSafe应用守则 应用程序设计/命名及编码规范方案 TreeView穿新衣: 以优雅的名义 回忆一支有意境的老歌... 列表和分页器之间的对话 统一、标准、扩展:模块间数据传送实践 重新画差不多一摸一样的UI? - ASCX的MVC模式实现 Custom Control 设计初论
推荐一个关于"架构"的演示文稿(PPT)
春鱼 · 2005-01-12 · via 博客园 - 春鱼

最近从朋友处得到的演讲用演示文稿。中心是关于“架构设计”,里面提到了架构业务建模及其设计准则。还配有实例进行说明。

标题:应用系统结构体系概述
页数:31
修复后的文档下载(*.zip 压缩文档)
注意:文稿中所使用动画效果,需要Microsoft Office PowerPoint 2003才能完全支持。

从文档可以看出,该演讲人对于ASP.NET表示层的设计有着很深入的研究。大家可以参考。

为了本文不至于过短,特摘录其中要点及比较有价值的理论:

“架构”的定义
“系统的基本组成结构,具体表现为组件,组件之间的相互关系、组件与运行环境的关系,管理其设计和演变的原则。”

目前Microsoft .NET所倡导的软件分层设计,其目的并非单纯为了进行分布式应用。与以往传统的“三层结构”有着本质的不同。对于Microsoft .NET平台上的应用系统来说,并非一般意义上的客户端-服务器-数据库三层结构可与之相比。这里的“架构”在本质上不同于上述“结构”。架构的提法是建立在应用的系统设计层面,是面向系统分析而言的,是纯软件的,面向编写程序的N层架构。其划分的各个层次均为软件层次。

业务建模不同于数据库设计
业务建模仅仅是定义数据格式(schema),应用模型并不会与关系数据库里的表一一对应。虽然有些时候二者是类似的。业务模型表现的是逻辑意义上的数据数据定义,比如工程项目开工日期、建筑面积或者建筑公司。而关系数据库的设计准则与数据定义不同。某个业务模型中的对象,其数据持久化到关系数据库时,可能会占用两个或多个表。这需要数据访问层的逻辑来实现。

另外,业务模型的数据变动并不能完全对应于关系数据库的“读写删改”操作。所以进行“读写删改”形式的模型设计是错误的

ASP 3.0 还是 ASP.NET

ASP.NET不是给光会“读写删改”的“程序员”准备的。在团队技术水准不高或者公司实际技术积累不够的情况下,盲目转向.NET只会按照ASP的习惯和思路写ASP.NET。这样虽然可以出产品,但这样的做法是图快的、目光短浅的和不严谨的,当需求更改或者需要对系统进行升级时,将面临一系列不可收拾的局面。与使用ASP 3.0相比,开发成本反而会升高。

ASP.NET是为企业级应用准备的。使用ASP.NET满足其基本的特性,即灵活性、重用性和逻辑分离和集中。

架构既可以很高级,也可以很小巧,完全看项目的需要。但不能因为较少编码上的工作量来筛减系统的灵活性和重用性,或者在设计上花费的精力不足。一个设计良好的系统,进行编码、美术设计以及数据库设计的工作量与系统分析相比是很小的。 一个架构开始可能是不合理的、不科学的或者难以使用的,可以随着项目的增多慢慢达到完美。但架构一定要遵循既定的规范。否则就不能称之为“架构”。

posted on 2005-01-12 10:48  春鱼  阅读(3943)  评论()    收藏  举报