我可能正在开发一个ASP.NET应用程序. Java / PHP开发人员在开始
我主要是
Java和
PHP开发人员,并且在使用C#的.NET方面有一些经验,但主要是在桌面上.
在启动新的ASP.NET应用程序时,您会给我什么建议?什么是最好的MVC选择?我应该避免做什么?使用ASP.NET而不是PHP或Java开发Web应用程序有哪些主要区别?是否存在ASP.NET使用的PHP和Java没有的约定? 我应该避免一起做什么最佳做法或事情? 你能想到的任何东西都会有很大的帮助. 解决方法
作为一名PHP开发人员,C#语法将需要一些习惯,但作为一名专业人士,你不应该有任何重大问题.所以,让我们关注框架.
首先,ASP.NET MVC和ASP.NET Webforms是在ASP.NET中构建Web应用程序的替代选项.虽然MVC受到了很多关注(它现在是很酷的选择 – 并且有一些很好的理由),但是在你有机会真正实现这两个方面之前不要排除WebForms.此外,作为PHP开发人员,您需要退一步. ASP.NET支持一些非常复杂的架构选项(更多内容). PHP应用程序倾向于通过将大量页面放在一起来设计.虽然你可以在ASP.NET中以这种方式做事,但我不推荐它,因为你有更好的选择. 如果您将使用ASP.NET MVC,那么您首先需要学习整个MVC架构:协调视图和控制器的目录结构和规则.实际上,您最大的挑战可能只是弄清楚视图如何“连接”到控制器.特别是因为它完全按惯例完成 – 你无法通过查看控制器来发现它 – 可能需要一段时间才能习惯.页面布局本身将类似于您在PHP中嵌入ASP.NET MVC称为“帮助程序”的内容.您可能需要一本书,但是,首先,请确保您访问Microsoft的ASP.NET MVC站点并浏览视频教程.有很多,他们非常好. 您也应该考虑WebForms开发.编写一个设计糟糕的应用程序更容易(尽管也很容易做一个好的应用程序)但是它更容易上手和使用.如果你走这条路,你必须了解页面生命周期和应用程序生命周期.这是您的首要任务. ASP.NET使用的模型基于Windows基于表单的编程,这对您如何考虑整个软件生产过程有影响. 接下来,你有一些决定.您将使用标准数据访问(例如SQLClient)工具,滚动您自己的数据访问层(或使用DAL),还是使用LINQ to SQL或LINQ to Entities?我说“决定”,因为团队中的每个人都必须在这一个上.我衷心建议您建立DAL,因为您可以根据需要对其进行优化. LINQ to SQL / Entities也不错,但有一些ominous clouds on the horizon.协调,决定并坚持下去. 如果使用WebForms应用程序,您应该认真考虑通过在单独的类库(DLL)中构建业务逻辑来使其更像“类似MVC”. Visual Studio / ASP.NET使您可以轻松创建自己的类库并将其折叠到您的解决方案中.了解如何做到这一点,您将成为一名多年来更好的开发人员(即使您使用的是MVC).人们通常会争辩这一点,因为它会将您的UI与数据访问隔离开来.虽然这是真的,但这并不是真正的优势 – 当您准备好学习并进行单元测试时,优势就会随之而来.刚开始假设你将UI从逻辑中分离出来,你会感谢我的道路. 关于WebForms的另外几个注意事项(这些工具主要是MVC开发人员无法使用的 – 因此我上面提到了关于入门速度的建议): 确保掌握GridView和用于填充它们的ObjectDataSource对象.注意:ObjectDataSource将数据从您的Business Class Library传送到您的UI.如果您不使用业务层,那么您将使用SQLDataSource或LinqDataSource对象直接从UI访问您的数据. 不要沉迷于你的架构了! 您现在需要决定是否要使用Microsoft的WebParts,登录和导航组件.这些将您锁定到网站导航,UI等的特定方法,但如果合适,可以节省您的时间. 一旦你知道你是否会使用它们并且你有机会习惯它们,那么我建议你熟悉Master Pages.我广泛使用它们,它们非常适合标准化网站的整体外观和感觉. 最后,每个专业的ASP.NET开发人员必须派生他们自己的Page类(例如“MyPageClass”),以便他们可以封装页面级别的常见操作.例如,我已经构建了一个会话管理对象,以便我可以以类型安全的方式访问所有常用的会话变量.派生的页面类负责提供sessionObj实例,以便每个页面都可以访问它而无需任何额外的工作. 现在您已准备好开始构建企业级Web应用程序! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 使用Visual Studio中的查询字符串参数进行调试
- asp.net-mvc – 使用Asp.net MVC 4中的OutputCacheAttribut
- asp.net-mvc – 在C#中,我如何从一个字节[]中知道文件类型?
- asp.net-mvc – 清理MVC 3.0应用程序中抛出的所有错误的方法
- asp.net-mvc – 使用jQuery ASP.NET MVC自动保存表单输入
- ASP.Net:动态添加到占位符的用户控件无法检索值
- asp.net-core – 尝试激活RegisterModel时无法解析类型IEma
- ASP.net vNext和Entity Framework 6
- asp.net-mvc-4 – 使用ELMAH和ajax在ASP.Net MVC 4中的Cont
- asp.net – 使用Global.asax有什么优点和缺点?
- asp.net-mvc – 使用URL重写时Url.Action不正确
- 3 ways to use HTTPClientFactory in ASP.NET Co
- asp.net – 在程序集中找不到上下文类型
- 有没有办法为ASP.Net Web应用程序安装程序创建补
- asp.net – 如何使用返回类型的System.Action?
- asp.net – WebMethod以JSON格式返回值
- MVC 5远程验证
- asp.net-mvc – ASP.NET MVC – 值类型的自定义验
- asp.net – .NET中每个SQL语句的SQL存储过程?
- asp.net-mvc-3 – MVC3只读文本框但值必须POST