摘要:最近在搭建公司新版的商城框架,先列举一下会使用到的技术,orm-entityframeworkvalidation-fluentvalidationconvertEntitiy-emitMapper or automapioc-autofac+import or unityjs-jquery+a...
阅读全文
摘要:存储过程的优势:存储过程提供了对数据库的抽象层,这样如果数据库模式改变的话可以最小化的对应用程序代码的影响。使用存储过程也更容易实现和管理安全。因为可以限制访问除了存储过程之外的任何东西,并且可以利用大多数数据库支持的细粒度安全特性。动态SQL的优势:动态SQL比存储过程更灵活并且适合快速部署。许多对象/关系模型(O\RM)框架可以为我们生成动态查询,大幅减少开发人员要写的代码。
阅读全文
摘要:一:事务脚本使用过程来组织业务逻辑,每个过程处理来自表现层的单个请求。在客户系统和服务器系统之间的每次交互都包含一定的逻辑。在某些情况下,它可能如显示数据库中的信息一般的简单,也有可能设计计算,验证的步骤。事务脚本将所有的逻辑组成单个过程,在过程中直接调用数据库,或者只通过一个简单的数据库封装器。运行机制:事务脚本组织成类的两种方式:1.将数个事务脚本放在一个类中,每个类围绕一个主题将相关的事务脚本组织在一起。2.每个事务脚本对应一个类。这样就需要用Command模式。这种情况下应该定义一个所有命令的父类,在父类中声明事务脚本逻辑适合的方法。使用时机:适合用于只有少量逻辑的应用程序。(弄了半天
阅读全文
摘要:web服务器的工作是:解释请求方的URL并调用服务器端应用程序来处理这些请求。构建Web服务器上应用程序的方法有两种:1.使用脚本适合于解释请求信息2.使用服务器页面适合格式化应答消息。这样的老观点也衍生出了模型-视图-控制器模式的用户界面中。控制器:处理请求消息模型:负责领域逻辑视图:基于模型创建应答消息过程:一条消息进入输入控制器,输入控制器从中获取消息。随后把业务逻辑传递给一个合适的业务模型。然后这个模型对象和数据源交互,并且按照请求消息的要求进行处理,应答并收集消息。做完这些后,它再把控制权交给输入控制器,输入控制器查看结果并且决定采用什么样的视图来显示应答消息。这通常是一个把数据放在
阅读全文
摘要:数据源层的作用:与应用需要的基础设施的不同部分进行通信。问题主要是和数据库的会话。3.1架构模式架构模式主要解决的问题是驱动领域逻辑访问数据库的方式。此时的选择对于设计影响深远而且难以重构。模式一:将SQL访问从领域逻辑中分离出来为了使用适合程序开发语言的机制来访问数据更方便,很多技术把SQL语句嵌入到程序设计中。但是当数据库管理员(DBA)也想得到访问数据库SQL语句,这样DBA才能理解怎样是最好的调整和组织索引。而解决这样的问题的方法就是把SQL访问从领域逻辑中分离出来。为了达到这样的实现,一种解决的方法是:以数据库中的表结构为基础,这样每个表对应与一个类,这些类为数据表建立一个入口。应用
阅读全文
摘要:领域逻辑的组织分为三块:事务脚本、领域模型、表模块一.事务脚本--面向过程的编程过程描述:从表现层获得输入、进行效验、将数据存储到数据库中以及调用其他系统的操作等。然后该过程将更多的数据返回给表现层。基本的组织方式是让每一个过程应对客户的可能做的一个动作。而我们可以把这样的模式想象成一个动作或者业务事务的脚本。事务脚本的优点:1.大多数开发者都能理解的简单过程2.能够与一个使用行数据入口或者表数据入口的简单数据源层很好的合作这一点感觉应该是数据层以datarow或者dataset作为数据层的接口或者参数吧3.设定事务边界的方法显而易见:一个事务始于脚本的打开,中午脚本的关闭。事务脚本的缺点:1
阅读全文
摘要:在分解复杂的软件系统时,软件设计者用得最多的技术之一就是分层。将系统分层的好处:1.在无需过多了解其他层次的情况下,可以将某一层作为一个有机整体来理解。如:我们可以在无需了解以太网的工作细节,可以照样在TCP上构建FTP服务。2.可以替换某层的具体实现,只要前后提供的服务相同即可。(不是很理解是什么意思)我的理解就是:一个服务层在很多地方都被调用,而服务层已经封装了逻辑层的具体实现。那么当逻辑层的内部逻辑改变的时候,在调用的地方不用去关心起内部逻辑的改变。3.可以将层次间的依赖性降到最低。当分层来考虑系统的时候,每一层依托在其下层之上。上层使用了下层定义的服务,而下层对上层一无所知。而每一层对
阅读全文
摘要:企业应用:1.企业应用一般都涉及持久化数据。2.企业应用一般都涉及大量数据。3.一般都涉及很多人同时访问数据。4.还涉及大量操作数据的用户界面屏幕。要学会通过简化,把一个大型项目简化成小型项目。因为如果是一个小型系统的失败,可能对于一个大型系统来说,这种失败就不会显得那么起眼了。这样的思想是因为没有对小型项目的积累作用足够的重视。企业应用的种类:关于可伸缩性:1.响应时间:是一个系统完成一次外部请求处理所需的时间。可能是用户的一次交互行为,也可能是服务器API的调用。2.响应性:系统相应请求的速度有多快。最好可以在响应处理完之前给用户一些信息表明系统已经接到请求,则响应性会更好一些。3.等待时
阅读全文