摘要:
vector概述
stl vector是序列容器模板类,其支持指定类型的数据存储和随机访问;
对于vector而言,如果在其尾部插入或删除项,其时间复杂度为常量;
如果在中间或者头部插入或者删除项,则其时间复杂度为线性的,因为为了保持原本的相对次序,在插入或者删除项之后的所有项都必须进行移动;
简单的说:vector类似于动态数组的概念,该动态数据能容纳任何类型的对象,并且可以按需动态伸缩空间;
个人认为其内存存储方式为连续的,这样才会有随机访问的特性,vector的空间模型如下所示:
引用vector
由于vector为C++标准库的一部分,因此在安装集成开发环境的时 阅读全文
摘要:
GRASP(通用职责分配软件原则)一共包括9种模式,它们描述了对象设计和职责分配的基本原则。也就是说,如何把现实世界的业务功能抽象成对象,如何决定一个系统有多少对象,每个对象都包括什么职责,GRASP模式给出了最基本的指导原则。初学者应该尽快掌握、理解这些原则,因为这是如何设计一个面向对象系统的基础。可以说,GRASP是学习使用设计模式的基础。1.Information Expert (信息专家)信息专家模式是面向对象设计的最基本原则,是我们平时使用最多,应该跟我们的思想融为一体的原则。也就是说,我们设计对象(类)的时候,如果某个类拥有完成某个职责所需要的所有信息,那么这个职责就应该分配给这个 阅读全文
摘要:
先说一下为什么要说到事务处理,实际上对于数据处理来说,对于数据库来说,整个程序开发发展到现在,任何程序任何项目都离不开数据处理,数据库,事务是一个非常重要的概念,不仅是ASP.NET当中甚至其他的编程语言编程环境当中,事务处理是一个非常重要的问题,也就是说事务处理本身是超脱于ASP.NET这个范围的; 1-有人问了什么是事务处理? 事务是一组组合成逻辑工作单元的数据库操作(所以看到这大家应该明白,事务是相对于数据库操作来的,事务本身是因为数据库的出现而出现的,为了对数据库操作过程中出现的问题而提出了事务的概念),虽然系统可能出错,但是事务将控制和维护每个数据库的一致性和完整性,也就是说事务处理 阅读全文