【阶段说明】
就要开始重构机房了,脑子里一片乱糟糟的感觉,有些措手不及。我忽然想起《致青春》的一句经典台词“天空没有留下痕迹,但鸟儿已经飞过。”可是,对于前面已经学过的知识,我都不太确定“鸟儿真的飞过了吗?”好纠结呀!
什么“软件工程”啦?脑子就剩下“文档”两个字;
什么“UML”啦?脑子里就剩下“九种图”,重要的要数:用例图、类图、时序图。至于类图是怎么抽象的,现在还不是很清楚的样子。
什么“设计模式”啦?我貌似只记得29个小故事;
什么“三层架构”啦?就是UI-BLL-DAL,外加Model实体类。
……
对于知识的理解有种似懂非懂的感觉,却没有办法用自己的语言来表达清楚……
【剪不断,理微乱】
下面的这张图主要是重构机房前的准备工作,看起来有些乱,是因为我正在整理自己的思路,貌似“耦合性”很高的嘛O(∩_∩)O~
【基础知识】
软件工程
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
@L_301_0@
统一建模语言(UML,Unified Modeling Language)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
2、静态图 (Static diagram),包括类图、对象图和包图。
3、行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。行为图包括:状态图、活动图、顺序图和协作图。
4、交互图(Interactive diagram),描述对象间的交互关系。
5、实现图 ( Implementation diagram ),包含构件图、部署图
设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。
面向对象设计模式通常以类型或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类型或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。
并非所有的软件模式都是设计模式,设计模式特指软件“设计”层次上的问题。还有其它非设计模式的模式,如架构模式。同时,算法不能算是一种设计模式,因为算法主要是用来解决计算上的问题,而非设计上的问题。
三层架构(3-tier architecture)通常是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
DataSet
DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路。正是由于DataSet才使得程序员在编程时可以屏蔽数据库之间的差异,从而获得一致的编程模型。
DataTable
DataTable是一个临时保存数据的网格虚拟表(表示内存中数据的一个表。)。DataTable是 ADO.NET 库中的核心对象。它可以被应用在 VB和 ASP上。它无须代码就可以简单的绑定数据库。它具有微软风格的用户界面。
其他使用DataTable的对象包括DataSet和DataView。
DataSet支持多表、表间关系、数据约束等,和关系数据库的模型基本一致。
sqlHelper
sqlHelper用于简化你重复的去写那些数据库连接(sqlConnection),sqlCommand,sqlDataReader等等。sqlHelper封装过后通常是只需要给方法传入一些参数如数据库连接字符串,sql参数等,就可以访问数据库了,很方便。
sqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。在 sqlHelper类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 sqlHelper类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。