三个基本原则
1.struct或者union或者class里,每个成员的对齐开始位必须是成员自己的大小的整数倍;
2.每个结构体的大小必须是结构体内最大成员的整数倍,(第二个补齐方式)
3.结构体a内的结构体b的开始位必须是b里的最大成员的整数倍。
例一:
typedef struct BB {
int id; //[0]....[3]
dou...
分类:
编程语言 时间:
2015-08-11 23:33:46
阅读次数:
177
高内聚 单一职责原则函数类模块主要指内部低耦合函数类模块主要指 模块之间对修改封闭 对增加开放依赖倒置原则A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。B.抽象不应该依赖于具体,具体应该依赖于抽象。
分类:
其他好文 时间:
2015-08-11 23:08:41
阅读次数:
77
3.8 数组的分配和访问(1)基本原则:int A[10]首先,它在存储器中分配一个sizeof(int)*10字节的连续区域。其次,它引入了标识符A。可以用A作为指向数组开头的指针。
分类:
编程语言 时间:
2015-08-10 23:49:40
阅读次数:
154
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具。使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别,所以需要去掉原有关系型数据库下开发的一些固有思维。基本原则:1:尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,...
分类:
其他好文 时间:
2015-08-10 17:55:51
阅读次数:
134
SeaJS基本开发原则在讨论SeaJS的具体使用前,先介绍一下SeaJS的模块化理念和开发原则。使用SeaJS开发JavaScript的基本原则就是:一切皆为模块。引入SeaJS后,编写JavaScript代码就变成了编写一个又一个模块,SeaJS中模块的概念有点类似于面向对象中的类——模块可以拥有...
分类:
Web程序 时间:
2015-08-09 20:29:15
阅读次数:
139
第四章 类和接口第13条 使类和成员的可访问性最小化1.设计良好的模块会隐藏所有的实现细节,把它的API与实现清晰的隔离开来,模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况:即信息隐藏或封装,是软件设计的基本原则之一。2.Java提供了许多机制来协助信息隐藏。访问控制(...
分类:
编程语言 时间:
2015-08-07 21:49:02
阅读次数:
147
(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate(二)观察者模式应用...
分类:
其他好文 时间:
2015-08-04 22:27:51
阅读次数:
138
一、NFS服务简介NFS是NetworkFileSystem的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix..
分类:
其他好文 时间:
2015-08-04 16:03:10
阅读次数:
154
C++ Primer 学习笔记_24_类与数据抽象(10)--static 与单例模式、auto_ptr与单例模式、const成员函数、const 对象、mutable修饰符
前言
【例】写出面向对象的五个基本原则?
解答:单一职责原则,开放封闭原则,依赖倒置原则,接口隔离原则和里氏替换原则
里氏替换原则:子类型必须能够替换他们的基类型。
设计模式分为三种...
分类:
编程语言 时间:
2015-08-03 01:15:15
阅读次数:
175
十大算法之Dijkstra算法:
最短路径是图论算法中的经典问题。图分为有向图、无向图,路径权值有正值、负值,针对不同的情况需要分别选用不同的算法。在维基上面给出了各种不同的场景应用不同的算法的基本原则:最短路问题。
针对无向图,正权值路径,采取Dijkstra算法。
如上图,是求a到b的最短路径,这里并不限定b节点,修改为到任意节点的路径,问题是完全一样的。
首先需要记录...
分类:
编程语言 时间:
2015-08-01 11:37:02
阅读次数:
1963