我是一名asp.net开发人员,对模式和架构知之甚少。如果你能在这里指导我,我将非常感谢。
在我的网络应用程序中,我使用4层。
网站项目(网页表单+ cs文件后面的代码,用户控件+ cs文件后面的代码,母版页+ cs文件后面的代码)
CustomTypesLayer一个类库(具有自定义类型,枚举,DTO,构造函数,获取,设置和验证)
BusinessLogicLayer是一个类库(具有所有业务逻辑,规则和对DAL函数的所有调用)
DataAccessLayer是一个类库(只有与数据库通信的类。)
- 我的用户界面只调用BusinessLogicLayer。 BusinessLogicLayer可以自我管理,也可以为数据调用DataAccessLayer函数。
-Web表单不直接调用DAL。
-CustomTypesLayer由所有图层共享。
请指导我这种方法是一种模式吗?我虽然它可能是MVC或MVP,但页面背后有代码,这让我感到困惑。
如果没有图案,它是否接近某种模式?
答案 0 :(得分:2)
这不是四层,即三层,所以它是一个常规的三层架构。
CustomTypesLayer根本不是图层。如果是,用户界面将只使用自定义类型图层,而不会直接与业务层对话,数据访问层将永远不会使用自定义类型图层。
答案 1 :(得分:2)
就模式而言,我建议抓住这些:
维基百科有一个很好的Software design patterns列表,假设你还没有看到它。
最后要记住的是,有三种基本类型的模式(加上第四类多线程/并发);它可以帮助你了解这些类别,并在你做这种性质的时候牢记它们,它们是:
答案 2 :(得分:2)
答案 3 :(得分:1)
查看Entity Framework或LinqToSQL。他们都可以从您的数据库自动生成您的数据访问层。这将为您节省大量(无聊)工作,并让您专注于有趣的层。
代码隐藏与架构没有任何关系 - 它更像是一种编码风格。这是一种将逻辑与表示分离的方法。您提到的任何架构都可以使用或不使用代码隐藏。
您似乎在描述标准的三层架构。 MVC是描述图层和用户如何交互的模式。用户请求页面(由View表示),该页面从Controller请求其数据。 Controller与您的业务层(Model)通信以提取正确的数据并将其传递给View进行显示。如果View是交互式的,例如它允许用户更新某些内容,那么此用户操作操作将传递回Controller,后者将调用业务层的相关方法将更新保存到数据库。
希望这有帮助。