设计模式方法VB.NET机房个人重构版-磨刀篇(一)
时间紧张,先记一笔,后续优化与完善。
【阶段说明】
就要开始重构机房了,头脑里一片乱糟糟的感觉,有些措手不及。我忽然想起《致芳华》的一句经典台词“天空没有留下陈迹,但鸟儿已飞过。”可是,对于后面已学过的知识,我都不太确定“鸟儿真的飞过了吗?”好纠结呀!
什么“软件工程”啦?头脑就剩下“文档”两个字;
什么“UML”啦?头脑里就剩下“九种图”,重要的要数:用例图、类图、时序图。至于类图是怎么抽象的,现在还不是很清晰的样子。
什么“计划模式”啦?我貌似只记得29个小故事;
什么“三层架构”啦?就是UI-BLL-DAL,外加Model实体类。
……
对于知识的理解有种似懂非懂的感觉,却没有办法用自己的语言来抒发清晰……
【剪一直,理微乱】
下面的这张图主要是重构机房前的准备工作,看起来有些乱,是因为我正在整顿自己的思路,貌似“耦合性”很高的嘛O(∩_∩)O~
【基础知识】
软件工程
软件工程是研究和应用如何故系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技巧和当前能够得到的最好的技巧方法结合起来的学科。它涉及到程序计划语言、数据库、软件开发工具、系统平台、标准、计划模式等方面。
UML统一建模语言
统一建模语言(UML,Unified Modeling Language)长短专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展示了一系列最佳工程实际,这些最佳实际在对大规模,复杂系统停止建模方面,特别是在软件架构层次已被验证有效。
1、用例图,从用户角度描述系统功能,并指出各功能的操作者。
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类来执行命令的模式,同时为开发人员选择访问数据的方法提供了须要的灵活性。每种方法的重载都支撑不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方法。
文章结束给大家分享下程序员的一些笑话语录: 一边用着越狱的ip,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。
--------------------------------- 原创文章 By
设计模式和方法
---------------------------------
转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/05/27/3102143.html
设计模式方法VB.NET机房个人重构版-磨刀篇(一)相关推荐
- 机房收费重构之总结篇
<机房收费重构>之路终于接近了尾声,这么一个月的时间做梦都在敲代码.总结<机房收费重构>的道路需要从学习方法,注意问题,知识总结三方面来进行! <机房收费重构>之路 ...
- 重构机房VB.NET机房收费系统个人重构版你都学会了什么(之一)
每日一贴,今天的内容关键字为重构机房 在VB.NET机房收费系统个人重构版时你都学会了什么?在开始第二遍的机房收费系统个人重构时,我发明不知不觉竟接触了很多很多之前不晓得的货色,也学到了很多新知识.下 ...
- 机房收费系统个人重构版:暮然回首,灯火阑珊
[背景] 在蹒跚中自己的机房收费系统个人重构版已完结:回望这一路征程,感慨颇多:快乐过,痛苦过:紧张过,放松过!真可谓:酸甜苦辣,五味杂陈. [比一比] VB.Net版个人重构版比VB版机房收费系 ...
- 机房收费系统个人重构版:软工文档中那些图
[前言] 图,提到这个字的时候脑海中就会出现许许多多的图像,它的重要性相信大家都明白,相比于文字来说它更生动形象正好符合人类大脑的记忆规律:很多人也知道动画片制作原理也是用一张张图片只不过转换的 ...
- mysql pt_GitHub - hcymysql/pt-kill: Percona PT-kill重构版(PHP)
/** Percona PT-kill重构版(PHP) UPDATE: Modified by: hcymysql 2018/11/27 1.增加慢SQL邮件报警功能 2.增加慢SQL微信报警功能 环 ...
- 设计模式之简单工厂模式(C#版)
设计模式之简单工厂模式(C#版) 简介 假设有个女朋友 总结 简介 我用最简洁而直接的方式来描述一下,什么是简单工厂模式.一句话就是,工厂类使用switch case语句返回特定类型. 下面,我们用一 ...
- 校园兼职平台(合作重构版)
[项目前提] 掌握java基本语法 熟悉使用流程控制 理解面向对象思想 熟练封装,继承,多态 熟悉使用接口,异常 熟悉使用集合 熟悉掌握I/o流相关操作 熟悉数据库操作 了解三层架构和常用设计模式 熟 ...
- 大话设计模式(二 代码规范、重构)
大话设计模式(二 代码规范.重构) (续上篇) 大鸟说:"且先不说出题人的意思,单就你现在的代码,就有很多不足的地方需要改进.比如变量命名,你的命名就是ABCD,变量不带有 ...
- 《计算机网络:自顶向下方法(原书第6版)》一第1章
本节书摘来华章计算机<计算机网络:自顶向下方法(原书第6版)>一书中的第1章 ,第1.1节,(美)James F.Kurose Keith W.Ross 著 陈 鸣 译 更多章节内容可以访 ...
最新文章
- tomcat历史版本新特性_tomcat升级后报错RFC 7230 and RFC 3986
- java 字符码查询_Java URL查询字符串参数的编码
- r指引到文件夹_R语言中进行文件夹及文件夹内文件操作范例
- [vue] vue生命周期的作用是什么?
- 前端学习(1404):多人管理24joi验证
- 暴露的全局方法_期末考试快到了,这4种错误的考试复习方法,越复习越差劲!...
- c语言计算分段函数_Rust能够取代C语言吗?
- leetcode题库:5.最长回文子串Longest Palindrome string
- 《梦断代码》读后感03——为什么我们不能像造桥一样造软件
- OwnCloud 搭建
- hibernate 3中要注意的地方
- 微信公众号内嵌跳转微信小程序方案总结
- 国内及国际公共DNS收录
- 紫书刷题记录UVa10935 卡片游戏
- html 怎么在背景图片上添加内容,css 如何在一个背景图片的中间添加文字呢?
- 解决Maven报错:Could not transfer artifact xxx
- android中使用饼形图
- 开启微信公众号定位服务器,微信公众号的定位是怎样的?
- minisys-单周期cpu(一) 数据通路设计
- [置顶] 中国象棋程序的设计与实现(高级版)(项目截图)
热门文章
- Java Daemon线程
- ListView 排序
- 正睿 2018 提高组十连测 Day4 T3 碳
- 今天下棋,结合以前一些技巧的总结
- 运用多种知识点实现一个综合小游戏
- nagios二次开发(一)---开发思想
- 书Visual C++.NET应用教程(附光盘)——高等学校计算机语言应用教的评论
- 【转】推荐计算机科学类的经典书籍 3
- 【Groovy】编译时元编程 ( 编译时方法注入 | 使用 buildFromSpec、buildFromString、buildFromCode 进行方法注入 )
- 【C 语言】字符串模型 ( 字符串翻转模型 )