小编Bál*_*Pap的帖子

DAL,DTO和DAO在3层架构风格(包括MVC)之间有什么区别

最近我学习了ORM(对象关系映射)和3层架构风格(表示,业务和数据持久性).如果我理解正确,我可以将数据持久层分成DTO和DAO层.

我想了解,以下部分如何在数据持久层中一起工作.

  • DAL(数据访问层)
  • DTO(数据传输对象)
  • DAO(数据访问对象)

最重要的是,我了解到了这一点

在较大的应用程序中,MVC是仅N层架构的表示层.

我真的很困惑,例如在3层架构风格中它是如何可能的,其中MVC只是一个表示层,而DTO,DAO,DAL只是数据持久层的一部分.我完全迷失了.

如果有人告诉我它是如何一起工作的真相,我会很高兴的.

请不要关闭这个问题,因为有许多不同的表达方式,我看到它到处都是这些东西基本上在大型应用程序中相互关联,我无法想象它是如何工作的.

我很感激任何答案!

model-view-controller orm dao data-access-layer dto

15
推荐指数
2
解决办法
6891
查看次数

C中带有const变量的数组大小

我发现了一个有趣的事实,我不明白它是如何工作的.
以下代码完美无缺.

#include <stdio.h>
 int main(){
  const int size = 10;
  int sampleArray[size];
  typedef char String [size];
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后,我试图只使用具有全局范围的常量变量,并且它仍然很好.

#include <stdio.h>
const int size = 10;
 int main(){
  int sampleArray[size];
  typedef char String [size];
  return 0;
}
Run Code Online (Sandbox Code Playgroud)


但是,如果我将数组的范围也改为全局,我得到以下结果:

错误:在文件范围内修改了'sampleArray'

#include <stdio.h>
const int size = 10;
int sampleArray[size];
typedef char String [size];
 int main(){
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我没有得到它!如果我将ex替换为const变量.以#define它会好起来为好.
我知道#define变量是预处理的,据我所知,const变量只是只读的.但究竟什么才能成为全球范围的?

我不明白第三段代码有什么问题,如果第二段代码还可以.

c arrays scope const

6
推荐指数
1
解决办法
2580
查看次数

标签 统计

arrays ×1

c ×1

const ×1

dao ×1

data-access-layer ×1

dto ×1

model-view-controller ×1

orm ×1

scope ×1