会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
天凉好个秋秋
博客园
首页
新随笔
联系
管理
订阅
02 2020 档案
六、数据驱动——把变化抽象成数据
摘要:案例1 张牙舞爪的if-else if(type == "mp4"){ isValid = true; }else if(type == "txt"){ isValid = true; }else{ .... } 用数组装变化的数据 string[] validTypeArray = {"mp4",
阅读全文
posted @
2020-02-27 11:13
天凉好个秋秋
阅读(267)
评论(0)
推荐(0)
五、描述数据的数据(五)
摘要:专门用来描述数据的数据,这就是元数据。 json xml 元数据带来的服务的例子: ORM的框架实现,model层的代码能自动生成,肯定需要元数据的支持 反射。每种语言的反射能力有强有弱,强弱的根本原因就在于你事先编译好的元数据够不够用。 在自动生成代码领域,元数据用得会比较深入。
阅读全文
posted @
2020-02-26 14:44
天凉好个秋秋
阅读(299)
评论(0)
推荐(0)
五、值对象和实体对象(四)
摘要:实体对象——主角 实体对象是主角,大家都认得出,不会和别人搞混。比如,Person对象很有可能属于实体对象,一般情况下,Person会有一个唯一的ID标识对应着数据库的主键,每个Person数据都是独一无二的,很重要,少一个就出bug了。 值对象——配角或道具 例如,演员拿着一只钢笔写字,我们不会关
阅读全文
posted @
2020-02-26 14:21
天凉好个秋秋
阅读(354)
评论(0)
推荐(0)
五、两种重要的数据容器(三)
摘要:前言 数据容器就是装载各种容器的数据结构,比较实用的两种:数组和容器。 数组 两大特点: 每个数组都有一组从0开始的下标,可以有着快速定位的能力 排序和数组有密切的关系,数组的快速定位能力,能帮助很多其他数据结构来优化排序效率 散列表 散列表本质上就是一个由链表组成的数组。通过散列算法,使它同时具备
阅读全文
posted @
2020-02-26 14:05
天凉好个秋秋
阅读(153)
评论(0)
推荐(0)
五、按生命周期划分数据(二)
摘要:变量的生命周期,大概的意思就是这个变量的有效期。 神仙阶层:global和static数据,能拥有和程序世界等长的 亲信部队:分配在栈区(空间不大,一个线程对应一个),栈区空间的分配和回收由操作系统直接接管。 int function(int a ){ int count = 10; } 这个cou
阅读全文
posted @
2020-02-25 21:04
天凉好个秋秋
阅读(278)
评论(0)
推荐(0)
五、常用数据类型(一)
摘要:前言 写任何程序,用得最多的数据类型无非就是这3种:string、int 和 bool。 string类型:人机沟通的桥梁 我们都知道计算机的内部只认识二进制,那么对于计算机来说,一个字母“S”和一条弯曲的小蛇有什么区别呢?可如今“S”被编了码,计算机就能认出它了。string类型的数据由若干字符组
阅读全文
posted @
2020-02-25 10:22
天凉好个秋秋
阅读(313)
评论(0)
推荐(0)
四、坏耦合的原因与解耦(三)
摘要:坏耦合的原因 1. 依赖他人 例1. void SaveMoney(float money); void WithdrawMoney(float money); 如果有假币出现,那么存钱函数SaveMoney就提前处理了,并不会存进去,WithdrawMoney函数从来没有遇到过假钱,而它并没有处理
阅读全文
posted @
2020-02-20 15:04
天凉好个秋秋
阅读(322)
评论(0)
推荐(0)
四、强化耦合(二)
摘要:强化耦合 1.将隐式的关系变成显式的关系 例如:在界面的不同位置要显示不同的图形,位置和图形是一对一的关系,于是代码如下: for(int i = 0;i<count ;i++){ Draw(Shape[i], position[i]); } 分析: 因为连个数组元素之间的对应关系,并没有得到正式承
阅读全文
posted @
2020-02-19 14:01
天凉好个秋秋
阅读(219)
评论(0)
推荐(0)
四、初识耦合(一)
摘要:什么是耦合 我们总是听到说这有耦合,那要解耦。耦合看起来很高大上的名词,实际上耦合代表的就是各种元素之间的依赖性和相关性。 耦合的种类 数据之间的耦合;例如: class Person{ string name; int age; } name和age属于同一个类里面,他们就产生了耦合 函数之间的耦
阅读全文
posted @
2020-02-19 12:19
天凉好个秋秋
阅读(635)
评论(0)
推荐(0)
一、代码和数据
摘要:程序世界的两个基本元素 1.程序世界两个基本元素是代码和数据; 2.数据和代码相互伪装: 有的看起来是代码的,实际上是数据 。例如:bool flag = true; true属于代码,这里是数据 有的看起来像数据,却是代码 有的代码在特定时候,可以充当数据。 函数指针是一种特殊的数据,这种数据不会
阅读全文
posted @
2020-02-18 16:15
天凉好个秋秋
阅读(945)
评论(0)
推荐(0)
两个数相加和溢出如何解决
摘要:(l+r)/2 l + (r-l)/2
阅读全文
posted @
2020-02-17 22:57
天凉好个秋秋
阅读(713)
评论(0)
推荐(0)
索引堆
摘要:1.为什么要引入索引堆 普通堆在操作的时候有两个问题: 在堆中,构建堆、插入、删除操作都需要大量的交换操作,如果结点存储的是比较复杂的数据结构,那么消耗的比较多 例如有一组进程,如果某个进程id为7,想提高它的优先级,由于堆的性质,会不断调整,就难以去找到它了。 2.索引堆优化了什么 索引堆将引入索
阅读全文
posted @
2020-02-17 21:44
天凉好个秋秋
阅读(164)
评论(0)
推荐(0)
REST 与RESTFUL
摘要:1.XML 与JSON 在不同的语言之间交换数据
阅读全文
posted @
2020-02-17 16:45
天凉好个秋秋
阅读(145)
评论(0)
推荐(0)
堆排序
摘要:恢复内容开始 一、为什么要引入堆排序 在日常生活中,很多场景需要优先队列。 应用场景一:动态请求。比如队伍中不断的入队和出队,并且优先级是动态调整,此时用堆比较合适。 应用场景二:M个数字中求前N个大的数。 什么是优先队列? 普通队列是先进先出,后进后出;优先队列是出队顺序和入队顺序无关,与优先级有
阅读全文
posted @
2020-02-17 16:43
天凉好个秋秋
阅读(225)
评论(0)
推荐(0)
关于归并排序和快速排序的衍生思考
摘要:一、分治算法 分而治之,即把原问题分割成同等结构的子问题,之后针对子问题逐一解决。 归并排序更关心的是治。 快速排序更关心的是分,如何均匀分的问题,它有一个pivot,如何合理的均分。 二、分治算法应用 求逆序数 1. 什么是逆序数? 排在前面的元素比后面大。例如:序列 3 5 6 8 1 ;8排在
阅读全文
posted @
2020-02-15 21:28
天凉好个秋秋
阅读(141)
评论(0)
推荐(0)
归并排序
摘要:一、O(nlogN)和 O(n^2)的时间效率对比 二、归并排序的实现过程 过程:分组,组内排序 法一:递归实现 //将arr[l...mid]和arr[mid+1...r]两部分进行归并template<typename T>void __merge(T arr[],int l,int mid,i
阅读全文
posted @
2020-02-15 15:39
天凉好个秋秋
阅读(149)
评论(0)
推荐(0)
插入算法
摘要:一、选择排序 //选择排序 O(n^2) void selectSort(int arr[],int n) { for(int i = 0;i < n; i++){ int minIndex = i; //寻找 [i,n]的最小值 for(int j = i + 1; j < n; j++){ if
阅读全文
posted @
2020-02-14 14:57
天凉好个秋秋
阅读(253)
评论(0)
推荐(0)
运算符重载
摘要:1.定义 运算符重载是通过创建运算符重载函数实现的。运算符重载函数来实现的。运算符重载函数可以是类外定义的普通函数,也可以是类的成员函数或友元函数。 第一种方式 1 Complex operator+(Complex om1,Complex om2){ 2 Complex temp; 3 temp.
阅读全文
posted @
2020-02-13 22:48
天凉好个秋秋
阅读(203)
评论(0)
推荐(0)
编译时的多态性与运行时的多态性
摘要:1.多态性 用一个名字定义一个不同的函数,这些函数执行不同却相似的操作,这样就可以用同一个函数名调用不同内容的函数。 2.程序的实现 一个源程序经过编译、连接,成为可执行文件的过程是把可执行代码联编在一起的过程。其中运行之前就完成的联编称为静态联编,而在程序运行时才完成的联编叫动态联编。 静态联编是
阅读全文
posted @
2020-02-12 22:42
天凉好个秋秋
阅读(1432)
评论(0)
推荐(0)
友元
摘要:1.使用原因 类的私有成员只能通过它的成员函数来访问。但是有的时候需要类的外部访问类的私有成员(或者保护成员)。为此,需要一种途径,在不放弃私有成员数据安全性的情况下,使得一个普通函数或者类的成员函数就可以访问某一类中的私有、保护成员。 c++中的友元为数据隐藏这堵不透明的墙开了一个小孔,外界可以通
阅读全文
posted @
2020-02-12 16:09
天凉好个秋秋
阅读(254)
评论(0)
推荐(0)
模板
摘要:1.模板的概念 c++允许同一个函数名定义多个函数,这些函数的参数个数和参数类型不同。在c++中,确实可以通过重载这些函数使他们有相同的函数名。但还是不得不为每个函数编写一组代码。模板是实现代码重用机制的一种工具,他可以实现代码参数化,即把类型定义为参数,从而实现了代码的重用。 2.函数模板 在te
阅读全文
posted @
2020-02-12 11:06
天凉好个秋秋
阅读(154)
评论(0)
推荐(0)
公告