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

推荐订阅源

S
Schneier on Security
The GitHub Blog
The GitHub Blog
Martin Fowler
Martin Fowler
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
有赞技术团队
有赞技术团队
GbyAI
GbyAI
F
Fortinet All Blogs
The Cloudflare Blog
爱范儿
爱范儿
IT之家
IT之家
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
量子位
C
Cisco Blogs
Latest news
Latest news
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
Stack Overflow Blog
Stack Overflow Blog
K
Kaspersky official blog
Spread Privacy
Spread Privacy
B
Blog
L
Lohrmann on Cybersecurity
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
P
Privacy International News Feed
T
Tor Project blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
小众软件
小众软件
P
Proofpoint News Feed
T
Tailwind CSS Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recorded Future
Recorded Future
S
Secure Thoughts
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
Last Week in AI
Last Week in AI
W
WeLiveSecurity
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security Affairs
宝玉的分享
宝玉的分享
D
Docker
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网

博客园 - 七思软件

基于.Net的架构设计之七 基于.Net架构设计之六 基于.Net架构设计之四 基于.Net架构设计之三 基于.Net架构设计之二 基于.Net的架构设计之一 Microsoft.Visual.Studio.2005.Team.System 面象asp.net2.0的MasterControls控件 aspx页面中标题单点解决方案 求助,web应用程序中的进程线程控制 (The 'url' property had a malformed URL)求助 - 七思软件 Asp.net 2.0功能体验,细节之Web控件(一) 隐藏控件 Asp.net 2.0功能体验,总体设计思想 Asp.net 2.0功能体验,欢迎光临指导 C#中泛型求助 C#2.0中可空类型 迎接.Net2.0 我只是一只碌碌无为的工蚁 : ( 论Web控件开发 - 完美上传下载控件“新”(五)
基于.Net的架构设计之五
七思软件 · 2009-11-29 · via 博客园 - 七思软件

从前面的初步分析来看,构建一个企业级应用系统是复杂而烦琐的,甚至让普通的程序员望而却步,但作为系统架构师却不得不考虑系统的方方面面,并且通过系统架构来控制风险,降低他们的编程门槛,以下是我作为系统架构师对各个开发层次中一些思考,希望大家补充指正:

一、数据持久层

 我一直认为数据持久层的规划是企业级应用是否成功的关键点之一,在ERP实施上,有人说三分程序七分数据,我觉得这对于大型的企业级应用来说也是成立的。数据库中表、聚集索引、索引、事务和锁的设计和控制,都是影响应用高可用性的关键,但是对于普通程序员来说他们可能更熟悉的只是数据的简单的增、删、改、查。在这一个层次,我们除了依赖专业的DBA之外,作为系统架构师可以从以下几点帮助我们的程序员:

1.对于一般的场景我们可以通过编写生成模板来生成满足最佳实践的存贮过程,如对于简单表的增、删、改、查,对于常用的表的外键查询、分页查询、树状数据的维护和检索等等,都可以通过生成模板来生成,这样一般的应用需求我们的程序员甚至可以作到不用和SQL语句打交道,就可以完成开发。

2.对于手工编程的场景我们还可以提供一些标准的代码模板来规范开发。

如可以通过以下的标准存贮过程模板,来展示在创建存贮过程时该怎样控制开启事务,怎么样抛出异常等等。

代码

3.而对于那些复杂的场景,我们可以专注的培养一些程序员,并通过培训或提供指导型文档来帮助他们提高他们对底层数据的理解。比如提供下面的简单的流水号生成示例来提升对锁、事务及并发的理解等等。 

代码