企业应用系统架构与设计模式

上传人:xzh****18 文档编号:56605535 上传时间:2018-10-14 格式:PPT 页数:49 大小:1.63MB
返回 下载 相关 举报
企业应用系统架构与设计模式_第1页
第1页 / 共49页
企业应用系统架构与设计模式_第2页
第2页 / 共49页
企业应用系统架构与设计模式_第3页
第3页 / 共49页
企业应用系统架构与设计模式_第4页
第4页 / 共49页
企业应用系统架构与设计模式_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《企业应用系统架构与设计模式》由会员分享,可在线阅读,更多相关《企业应用系统架构与设计模式(49页珍藏版)》请在金锄头文库上搜索。

1、Microsoft .NET 企业应用系统架构与设计模式,林耀珍 技术总监 第三波信息,Microsoft .NET 技術代言人,林耀珍,经历 第三波信息 技术总监 育碁数字科技 总经理 专业认证与专长 微软 .NET 技术 软件开发流程,信息系统规划 Microsoft MCSD/MCSE/MCDBA 对象导向技术,Rational OOAD 认证讲师 Lotus Notes principle CLP/CLI J2EE,大綱,前言 企业应用系统架构介绍 使用者接口设计模式 商业组件设计模式 数据组件设计模式与最佳实务,機會,軟體的需求持續成長 自動化 工業, 商業 硬體加值 通訊, 電視,

2、 家庭伺服器 數位內容 Beyond Data Data, Doc, MM 人機介面 手寫, 語音 more 對人力的需求龐大 精密複雜的工作 自動化程度低,挑戰,时间有限 经费有限 系统需求复杂 技术复杂 环境变化迅速 使用者心意不定 人力有限(数量与质量),威脅,全球化软件产业分工 全体软件开发工程师800万人 美国 印度 中国大陆,趨勢,硬件与通讯速度提升,价格下跌 功能强大的软件平台日益普及 Thanks To Microsoft and Other Vendors 全球化产业分工 icroTrend Know-How的累积与自动化 Domain Know-how Process Pa

3、tterns Architecture patterns Design patterns Coding template Reusable Components,跨越鴻溝的橋樑 Architecture, Design and Process,Object Oriented/Component/Framework/Platform Corner stone,大綱,前言 企業應用系統架構與MVC設計模式介紹 使用者介面設計模式 商業元件設計模式 資料元件設計模式與最佳實務,應用系統架構,Operational Management,Security,Communication,Patterns

4、& Practices,Caching,Data Format & exchange,任何事物都有其架构,而且越简易越好 架构必须能够成长与调适,不然就要重建,應用系統架構,UI Components:操作模式、数据安排、美观 User Process Components:业务操作流程 Service Interfaces:亦称为Faade Layer Business Components:运算逻辑 Business Entities:负责数据储存的组件 Business workflows:跨系统服务的流程整合 Data Access logic Components:存取数据库 Ser

5、vice Agents:呼叫其它系统服务,建立程式架構,VS .NET Solution,MVC Design Paradigm,问题: 传统的程序混合画面、画面流程、商业逻辑、与数据库存取等功能,违反模块化设计原则 解决方案: Model: 数据与商业逻辑 View: 展现资料的画面 Controller: 接受 user request, 呼叫适当的 Model 执行工作,然后显示展现结果的画面 结果 模块分工明确 成为 design 的基本原则 应用广泛,例如增加 Data access 组件分离 Business object 与数据存取,MVC 設計原則,View,Controlle

6、r,Data,Model,Data Access,Model: 数据与商业逻辑 View: 展现资料的画面 Controller: 接受 user request, 呼叫适当的 Model 执行工作,然后显示展现结果的画面,大綱,前言 企业应用系统架构介绍 设计使用者接口组件与设计模式 设计商业组件与设计模式 设计数据存取组件与设计模式,設計使用者介面元件,Operational Management,Security,Communication,Patterns & Practices,Caching,Data Format & exchange,Application Architectu

7、re is the most important design pattern.,Front Controller設計模式,适用于复杂的网站设计 允许动态设定 View, Navigation flow, Controller 优点 高度模块化,大幅降低重复的程序代码 集中 Business logic 与 Data access 适合对 Controller, BO, DO 做单元测试 可协调 multiple view 串联互动 弹性应用 Logical view 与 Physical view 缺点 复杂 动态产生对象损失效能,Cache可降低痛苦,User Interface Proc

8、ess Application Block,目标:建立简明、具延展性的UIP架构 需求: 多层式应用程序架构 适用于 Windows client、Web client、devices 可以储存使用者状态 可调整 UI 流程,但不必修改 code 设计要点 不同的 Client 端使用一致的程序模式 分离 UI Navigation flow 与 UI Components (form/page) 分离 State management 与 UI Components,UIP Application Block,设计 Views 与 Navigation flow,设定 Navigation

9、flow,UIP 設計模型,Configuration File,Business entity - DataSet,Navigation,當Initialize controller時設定Navigate() handler,設計 Controller,Controller 协调 Views,BO,DO 与 UIP Framework,Client agent設計模式,統一Windows/Web Form存取Business components的服務介面 Isolate presentation layer from service changes,大綱,前言 企业应用系统架构介绍 设计使

10、用者接口组件与设计模式 设计商业组件与设计模式 设计数据存取组件与设计模式,設計商業元件,Operational Management,Security,Communication,Patterns & Practices,Caching,Data Format & exchange,Application Architecture is the most important design pattern.,規劃 Business Objects 的功能,从需求分析规划系统功能,并指派功能给适当的商业组件,功能需求 登入 浏览产品目录 加入物品至购物车,数量固定为1 检视购物车内容 Check

11、 out order 显示checkout结果 非功能性需求 对密码加密,Business Entity的型式,DataReader:具有最快的读取速度,用于Forward-ReadOnly的场合,不具有OO概念 Generic DataSet:On-Memory database Typed DataSet:兼具有Generic DataSet的优点与对象导向程序设计的优点,多一些overhead XML:可于执行查询直接传回XmlReader,或由DataSet做数据转换 Business entity class:最符合对象导向程序概念,程序逻辑简单,但数据转型的overhead最大。处

12、理大量或复杂的related entities时,必须小心处理以满足效能要求,設計 Business Entity,設計 DataSet CartDS CategoryDS ProductDS CustomerDS,設計Business Rule Component,Service interface設計模式,Faade design pattern 目标:子系统提供单一接口给客户端 问题:子系统内的class分别提供部分功能,客户端必须呼叫个别的class,致使两层间连结复杂,不易维护,违反Encapsulation原则 效果:简化设计,易于维护,Faade layer & Client A

13、gent,Agent,Svc-2,Svc-3,Svc-1,Faade layer,Web service,Windows/Web/PDA/Mobile Client,Remotable Component,Serviced Component,UDDI,discover,publish,Client,HTTP TCP Remoting,COM +,Client,TCP DCOM,Business Logic,建立高可再用性的商業元件,HTTP SOAP WSDL,Add Web service,Add an ASP.NET Web service project Add ref to busi

14、nessFacade, common, Asmx delegates request to businessFacadeThe quickest way Copy codes from ClientAgent.cs Add WebMethod for each method,大綱,前言 企业应用系统架构介绍 设计使用者接口组件与设计模式 设计商业组件与设计模式 设计数据存取组件与设计模式,設計資料存取元件,Operational Management,Security,Communication,Patterns & Practices,Caching,Data Format & exchan

15、ge,設計資料存取元件,影响效能的关键之一 使用Object/Component进行设计符合自然的思考模式 RDB的原理为集合运算(Set) 当大量的数据储存RDBMS时,必须将单次的大量运算移至数据端进行批次运算 但若是对大量数据进行多次运算,则应将之移入程序 AddOrder组件,設計資料存取元件的考量因素,数据必须在各层组件中传递,所以需要Serializable 考虑存取频率与数据量 考虑read-only或mutable 是否需要Cache Business entity与table schema不一定相同 存取大量数据或大量同时上线作业时必须有良好的效率 是否提供存取XML数据的功

16、能,esp. 在跨平台或系统整合时的需求 在Client端是否必须安装,及最佳的安装方法为何? 符合对象导向概念的数据组件,使程序单纯化,且可做编译时的型态检查,减少错误机会,最佳實務(Best Practices),尽量减少数据组件的型态,简化开发及维护 如果数据以档案方式储存,应使用xml格式 Data Access组件采用stateless模式 每一个Data Access组件一次只存取一个数据来源 Data Access组件不可呼叫其它的Data Access组件 Data Access组件对应business Component,不是对应Table Data Access组件使用stored procedures与RDB沟通 Data Access组件不处理Transaction 使用Connection-oriented object时,必须尽速取出数据后释放connection. 大量数据的批次作业,可避开对象导向程序处理模式,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 多媒体应用

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号