好问题!我假设你可以随时掌握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 的工具。如果不使用 Business Layer,则会直接从 UI 使用 SQLDataSource 或 LinqDataSource 对象访问数据。
现在不要就你的架构做出决定!
你现在需要决定是否要使用 Microsoft 的 WebParts、Login 和 Navigation 组件。它们锁定了你对站点导航、UI 等特定方法的选择,但如果适当的话可以节省大量时间。
一旦你知道自己是否会使用这些组件并且有机会熟悉它们,那么我建议你熟悉 Master Pages。我广泛使用它们,它们非常适合标准化整个站点的外观和感觉。
最后,每个专业的 ASP.NET 开发人员都必须派生出自己的 Page 类(例如,“MyPageClass”),以便他们可以封装页面级别的常见操作。例如,我构建了一个会话管理对象,这样我就可以以类型安全的方式访问所有常用会话变量。派生的页面类负责提供 sessionObj 实例,以便每个页面都可以在不进行任何其他工作的情况下访问它。
现在,你已经准备好开始构建企业级 web 应用程序了!