有时候就不能随便立Flag,否则打脸来得会非常容易:原本计划是10.31日完成这项工作,最后拖到11月初才学完,等有时间来写文章,都快11月底了。
言归正传,原本计划学习的两本书(包括网上B站的视频),都不太适合自己:要么是内容太过浅显和分散、要么就是对基础能力要求很高,而且很多代码存在过期、无法使用(APPLE CPU)的情况,这学起来就很尴尬了。
还好有微软官方的.Net教程,否则我一度怀疑.Net8是不是真的跨平台^_^。
一、教程
MSDN的ASP.NET系列教程最靠谱,所有代码能够在Mac OS下运行不报错,这就很牛了。由于之前下载的很多开源代码、实例教程,在Mac OS下使用都会遇到莫名奇妙的问题,导致我一度想要卖了MAC换回Windows。
另外,再分享youtube上的dotnet频道,里面有比较好的Entity Framework Core、API等教程,已经开始在看EFCore教程。
二、工具
无脑推Visual Studio Code,虽然Rider不错,但抵不住VSCode的免费、轻量级,对于我等初学者来说远远足够了,最重要的是与官网的教程无缝搭配。
实现的案例(教程地址:MvcMovie)
挑了一个MVC的教程,从头到尾完成功能的搭建,主要实现数据记录的增、删、改、查,最让人觉得靠谱的是基本与官网实现的效果如出一辙。
三、开发流程
虽然功能小,但也能从整个开发过程中看出开发的流程是什么样的,由于平时很少写代码,所以之前每次想做一些小工具或项目,都不知道从哪一步开始入手,而且很容易陷入具体的实现小细节中。
经过这次小案例的学习,初步总结出未来自己开发项目的主要流程:
- 需求澄清:写出功能说明,包括主要功能模块划分、功能模块主表字段
- 创建项目(命名、框架版本选择)
- 基架生成各功能(2.1-添加功能模型、2.2-生成数据库、2.3-生成控制器操作+视图)
- 完善与数据库变更的功能(例如搜索、分页、字段校验)
- 在已完成功能上实现更多拓展能力
这个主要流程下来后还要再不断的总结,待下一个学习的实践教程(或自己开发项目)结束后,再补充完善。
需要注意的两个小TIP:
1)EFCORE 支持的数据库功能有限,有些也要手工处理(SQLite不能修改字段);
2)更新model类属性后,要记得先dotnet build后,再修改前端文件和其它类代码。
四、最后
示例代码还没有上传到github,正在抓紧时间研究vscode如何使用github。
下一步计划:在12月底前完成一个小工具,具体选择范围:A-图片加工、B-股票持仓真实收益、C-个人账号密码本,最迟会在12月1日确定并建立解决方案。
学习资源推荐:
.net website基础教程:ASP.NET Core 101(https://www.youtube.com/watch?v=lE8NdaX97m0&list=PLuZfDyPRW0-MvkkrvaGrLkJsFq6t1uTC6)
.net Web Api基础教程:Web APIs for Beginners(https://www.youtube.com/watch?v=h0KG8OKKgKs&list=PLdo4fOcmZ0oVjOKgzsWqdFVvzGL2_d72v)
代码已上传github:https://github.com/ixlin/MvcMovie