实用型系统软件架构的简易设计与实现摘要:文章阐述了简易实用型web浏览企业应用网络系统软件框架模型的创建和层次结构,分析了它的主要科技含量,指出了它的巨大优势和市场潜力,说明了编程实现的重要技术环节,并列举了具体的实践应用。这种软件框架建模与实现:高效,简便,实用,易行。关键词:领域驱动设计ddd;对象关系映射orm;控制反转ioc;依赖注入di;面向方面编程aop;工作单元unitofwork;实体框架;窗口通信基础wcf;窗口展现基础wpf【abstract】thepaperexpoundsthecreationandlayer-structureaboutasimpleandpracticablenet-system-software-frameworkmoduleofweb-browser-enterprise-application.itanalyzesmainscience-technologycontent.itpointoutthegreatadvantageandmarketpotential.itillustratesimportantprograminglinksandlistsadetailedexample.themodulefeature:highperformance,practicable,simpleandeasytouse.【keywords】domaindrivedesign;objectrelationalmapping;inversionofcontrol;dependenceinjection;aspectorientedprogramming;unitofwork;entityframework;windowscommunicationfoundation;windowspresentationfoundation0引言一般的web浏览器企业应用网络软件系统,常常采用业务数据库与b/s(brower/server)三层软件架构的形式,虽然易于软件设计和编程实现,但是维护和升级起来十分麻烦,很多时候不得不重新做起,更别提系统扩展了。这种体系,概念混淆,术语混乱,框架与模式僵化,设计与代码很难理解,sql(structuredquerylanguage)运用繁琐,编程工作量大,软件制作效率低下,对于小中型企业系统还勉强凑合,对于中大型企业系统就根本行不通了。现代web浏览器企业网络软件系统设计,迫切需要高效、实用、架构简单、易于实现、编程自动化程序高、无关数据库设计的多层次通用性系统软件体系。可以灵活运用“领域驱动设计ddd(domaindrivedesign)”的编程思想,结合新出现的现代软件设计工具,达到这些目的,使项目软件设计集中到具体的“业务行为逻辑实现”和“前端页面丰富”方面,通过软件自动架构的方式,保证系统软件设计的极大简化高效和运行的最大稳定可靠,同时最低化维护成本并最强化系统的可扩展性。1总体规划设计思想根据领域驱动设计的思想,结合新出现的现代软件设计工具插件,采用分层架构的做法,围绕具体的业务逻辑,面向对象进行分析与设计,可以建立如图1所示的以业务领域为中心的四层基本典型web浏览器企业应用网络软件系统框架模型。四层基本系统软件层次从上到下依次是:表现层、服务层、领域模型层和基础框架层。表现层主要通过用户界面向用户展示必要的数据信息,同时接收用户的反馈。服务层提供对“领域模型层”业务的封装,通过网络或接口向表现层暴露粗粒度的业务服务。领域模型层主要是展现业务领域的行为逻辑、业务处理状态以及实现业务的规则,同时也包含了领域对象的状态信息。该层是整个应用程序的核心部分,它可以包含的概念和内容有:实体(entities)、“值”对象(valueobjects)、领域服务(domainservices)、仓储契约/接口(repositorycontracts/interfaces)等。基础结构层为应用程序的数据存取提供服务,它可以是应用程序本身的持久化机制,也可以是外部系统提供数据访问的webservice等。它提供了能被其它各层访问的通用技术框架,比如异常捕获与处理、日志、认证、授权、验证、跟踪、监视、缓存等。这些操作通常会横向散布在应用程序的各个层面,面向方面编程aop(aspectorientedprogramming)关注的就是如何在不影响对象本身处理逻辑的基础上来实现这些横切的却又必不可少的功能点。实践中通过使用一些流行的拦截(interception)框架(如microsoftunity、castledynamicproxy等)可以方便地实现aop。按照领域驱动设计的思想,领域模型建立在服务层中,能够更好地应对复杂与不断扩展的大型企业软件应用需求,而实际应用中更多的是繁琐并不特别复杂的业务领域行为逻辑,把“领域模型”独立一层,即保持了领域驱动设计的复杂应对与业务扩展的优势,又可以加速软件体系的运行效率。对于中小企业应用,这四个层次就...