所以,我有相当多的使用php和coldfusion编程数据库驱动的web应用程序的经验(不是在一起,在不同的时间),我开始研究asp.net世界(我有一个项目即将开始工作)这都是asp.net/c#.)
我的问题是:似乎有很多东西要陷入困境,如果我只是制作基于网络的应用程序(主要是CRUD类型的东西 - 没有心灵弯曲的逻辑)我应该关注的主题是什么?我只是不想走下兔子的踪迹,后来发现它并没有被开发社区过多使用.在阅读一些书籍(ASP.net 3.5一步一步和ASP.net 3.5释放)我发现一些区域的主题将被解释,但在本章的结尾它会说"这东西很酷,但不是为了用于多层应用......"
到目前为止我看过的主题(看起来与我以前用于构建的应用程序有很大不同)是:
母版页
数据绑定
Linq to SQL
ASP.NET MVC
模板和数据绑定表达式
asp.net控件
我知道这可能是一个广泛的问题 - 但这似乎是一个广泛的话题.
好问题!我假设您可以随时选择C#语法,因此我将专注于全局.
要开始使用WebForms应用程序,您必须了解页面生命周期和应用程序生命周期.这是您的首要任务.ASP.NET使用的模型基于Windows基于表单的编程,这对您如何考虑整个软件生产过程有影响.现在,我假设您将构建一个WebForms应用程序,因为WebForms技术(在ASP.NET中)更成熟,具有更好的第三方支持并且具有更多文档.如果你倾向于MVC,那么请记住,一个好的设计将是一个或另一个--MVC不是WebForms的一部分,它是它的替代品.
接下来,你有一些决定.您将使用标准数据访问(例如SQLClient)工具,滚动您自己的数据访问层(或使用DAL),还是使用linq to SQL?我说"决定",因为团队中的每个人都必须在这一个上.我衷心建议您建立DAL,因为您可以根据需要对其进行优化.Linq也不错,但地平线上有一些不祥的云.协调,决定并坚持下去.
虽然不是强制性的,但您应该认真考虑在单独的类库(DLL)中构建业务逻辑.Visual Studio/ASP.NET使您可以轻松创建自己的类库并将其折叠到您的解决方案中.了解如何做到这一点,你将成为一个多年来更好的开发人员.人们通常会争辩这一点,因为它会将您的UI与数据访问隔离开来.虽然这是真的,但这并不是真正的优势 - 当您准备好学习并进行单元测试时,优势就会随之而来.刚开始假设你将UI从逻辑中分离出来,你会感谢我的道路.
此时,您可以(A)构建网页,(B)在其中显示基于数据库的动态内容.确保掌握GridView和用于填充它们的ObjectDataSource对象.注意:ObjectDataSource将数据从您的Business Class Library传送到您的UI.如果您不使用业务层,那么您将使用SQLDataSource或LinqDataSource对象直接从UI访问您的数据.
不要沉迷于你的架构了!
您现在需要决定是否要使用Microsoft的WebParts,登录和导航组件.这些将您锁定到网站导航,UI等的特定方法,但如果合适,可以节省您的时间.
一旦你知道你是否会使用它们并且你有机会习惯它们,那么我建议你熟悉Master Pages.我广泛使用它们,它们非常适合标准化网站的整体外观和感觉.
最后,每个专业的ASP.NET开发人员必须派生他们自己的Page类(例如"MyPageClass"),以便他们可以封装页面级别的常见操作.例如,我已经构建了一个会话管理对象,以便我可以以类型安全的方式访问所有常用的会话变量.派生的页面类负责提供sessionObj实例,以便每个页面都可以访问它而无需任何额外的工作.
现在您已准备好开始构建企业级Web应用程序!
设计应用程序.你需要知道的事情应该很快到达顶部.