标签:
1.技术选择
页面:
html静态页面很好,但模板(代码块)重用怎么办? 再有与后台交互,比如绑定数据又如何办?
模板不能重用,无解。后台交互,无怪乎可以使用js代码。特别现在流行SPA应用,html+angularjs类的框架……
cshtml可以使用Layout页(类似webfroms master模板页),也可以使用ViewsComponets(类似于webfroms web控件)
它使用Razor视图引擎解析,页面甚至可以使用c#语言。和后台交互式很Easy的。
如果说cshtml结构代码,使用大量HtmlHelper方法,一般只做前端开发的人员,恐怕阅读起来……无语啦!
可以微软又出TagHelpers技术,这样又接近于html结构写法,就容易理解了。
静态页和动态网页比较起来,难免会说到性能。这个咱不发表立场。mvc6已经可以把cshtml预先编译了,所以性能又改进了。
mvc和webapi:
可能不少人不知道这两个技术区别有哪些?实话,我也曾经迷糊很长时间。
微软有了mvc(不要提有了webfroms,为啥出mvc?OUT的东西再提,然并卵了。)为啥又搞webapi?这个两个玩意很相似。
到底哪个更强大或好使?该如何选择呢?到现在我都没有比较认可的结论。webapi是rest风格架构,也就是面向资源的架构。
这是他们之间最大的区别吧。那又啥Rest风格呢?这里的话题,我就不能抛开,详细能说明白了。
最简单理解,就是webapi Action方法名定义为http方法名或http方法名前缀。
mvc6把mvc和webapi代码几乎相同的地方,又合并。比如路由管道一致。不分是mvc控制器,还是api控制器等等。
我也希望阅读到这的园友,能帮我好好分析,该怎样选用这两个技术。谢谢!
bootstarp:
css框架众多,到底哪家最强? 管它呢?找一个适合自己即可。就好像别人的媳妇再好,那是人家的,回家好好“调教”自己的媳妇就是了。
bootstrap火起来的原因,很简单。可以快速实现漂亮,丰富的UI,菜鸟也容易上手。可缺点,很多人不能灵活使用。
这不现在网站页面, 像bootstrap样子太多了。看多没有个性的“艺术”,都会很快厌恶。
有人说,自己写好吗?为什么要重复造轮子?我当然建议,还是自己写为好。真的认为自己写的不好,可以去找参考即可。
程序设计语言C#:
我只会这个,无从与其它语言进行比较。那我学的很精通吗?好像也不怎样啦。我只做web开发,我能遇到的技术难度不多。
其它,如js框架,数据库,orm框架等等比较,限于自己表达能力欠缺和技术认知,理解有限,就暂且不说啦。
光说不练是假把式。是骡子是马,拉出来溜溜。本系列,就扯一些ASP.NET5 开发中,需要知道的技术或一些基本技巧。
2.分层
不管你是用三(N)层 架构,还是DDD领域驱动设计,或者CRQS命令查询职责分离架构,或则它们的变种。
都是因项目需要或者将来维护情况,来选择架构。其实更多的是,拿多少钱,才是决定搭建质量好坏。
不要跟我说,什么事,可以讲究情怀,拿钱少,也要把事做得最好。有时候,理想很丰满,现实很骨感!
最基础最经典的架构:
业务逻辑层和数据访问层,其实可以再抽象出接口层,以应对变化。
初步搭建:
把所有项目frameworks修改为:只用dnxcore50。然后再修改平台:
在OneBBL项目里添加下面类文件:
修改Consles项目中project.json:
修改program.cs代码:
引入接口层,又该怎样组织代码???
在IBBL项目添加:
在OneBBL项目添加:
那么Consoles项目修改为:
问题来了?如何解耦???
3.依赖注入
关于对象创建问题,可以使用创建型模式或自己写反射来解决。但这里使用依赖注入框架。
先举Web项目中实现注入。修改Startup.cs:
添加:
OK!就这么简单!
回头看,在Consoles项目中,IServiceCollection调用匹配类型,怎么写呢? 而且注入框架包含在mvc中:
在桌面程序中,该引用哪个呢?参见说明https://github.com/aspnet/DependencyInjection
伤不起呀!EF7和 mvc已经内置了。其它,自己编译再用了。算了,反正也不玩控制台程序。不再费时间整了!
4.配置文件读写
在Web项目中,添加config.json文件,其代码:
再Controllers文件夹下,添加:
5.小结及预告
本节粗略地介绍ASP.NET5 自带的DI依赖注入方法一种,它是单例模式。也可以注入临时的对象……
关于json格式配置文件,已经大行其道了。如何利用ASP.NET5中自带的配置库来读写key节点是很简单。
另外关于读写其它格式xml或ini等,微软真的是.net粉丝的贴心小棉袄呀!什么事都帮大家写好了。
其实关于这些,大家可以自行来写实现的。 没办法.net技术含量低,不值钱,或许就是因为干活容易些啦!
下节介绍webapi和EF7……
标签:
原文地址:http://www.cnblogs.com/givecase/p/4715378.html