房地产项目开发内容和规模的分析与选择,首先要遵循的前提是()。
A.符合城市规划
B.利益最大化
C.规模最大化
D.报酬率最小化
参考答案:A
钠(碱)石灰发生褪色()。
A、必须更换
B、可以再用上一段时间
C、可以重复利用
D、不必要更换
[说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图7-1显示了各个类间的关系。 [图7-1]
以下是C语言实现,能够正确编译通过。 [C代码] typedef void( (1) )(char *title); typedef void(*fun2)(char items[] [10], int N); typedef char* (*fun3)(); char buffer[500]; struct Builder//构造器 fun1 makeTitle; (2) makeString; fun2 makeItems; fun3 getResult; ; struct Director struct Builder builder; ; char* construct( (3) director)//构造文件 char items[2][10] = "早安", "午安"; director->builder.makeTitle("Greeting"); director->builder.makeString("从早上到白天结束"); director->builder.makeItems(items, 2); director->builder.makeString("到了晚上"); strcpy(items[0], "晚安"); strcpy(items[1], "好梦"); director->builder.makeItems(items, 2); return director->builder.getResult(); void TXTmakeTitle(char* title) strcat(buffer, "『"); Strcat(buffer, title); strcat(buffer, "』\n\n"); void TXTmakeString(char* str) strcat(buffer, "■"); Strcat(buffer, str); strcat(buffer, "\n\n"); void TXTmakeItems(char items[] [10], int N)//将items加入文件中 for(int i = 0, i < N; i++) strcat(buffer, "·"); strcat(buffer, (4) ); strcat(buffer, "\n"); strcat(buffer, "\n"); char* TXTgetResult() return buffer; void main() Director director; (5) = ’\0’;//清空缓冲区,使目前缓冲区中的内容不影响新生成的文件 director.builder.makeTitle = TXTmakeTitle; director.builder.makeString = TXTmakeTitle; director.builder.makeItems = TXTmakeItems; director.builder.getResult = TXTgetResult; char* result = construct(&director); printf("%s\n", result);