俗话说台上一分钟,台下十年功。既然选择了要上台,就不要怕苦怕累。
最重要的是如何有效地去学,如何有效地去坚持,并发现效果。
纵观这一年,从2月份入行,到现在8月了,还是在入门和初级水平间徘徊,并没有实质性的进展,学的东西也大多是工具,然后实际实现就是复制粘贴之流,本质的东西掌握的可谓少之又少。
所以开这篇文章:
- 用作学习笔记
- 在于提醒自己坚持
- 在于将自己从学习者变为传道者,这条路必须是坚持才能走下去
这系列的目标是我个人可以从前端往 .NET 后端方向发展。拓宽知识面,并且往一门喜欢的技术方向发展。
学习路线
许多文章都在讲学习路径,往往是一开始规划的妥妥当当,但真去执行起来还是有困难的,所以学习的路线往往是根据实际情况来定,根据技术的发展脚步来慢慢适应性地转换过去。
就比如初学的话,往往也是先 C#,然后上平台的 winForm 来实操 C# 和 .NET Framework。
另外就是学习路线规划再好,不执行也没有用。所以最重要的还是坚持!
以下摘自 Beginning C# 6.0 Programming with Visual Studio 2015。
总体流程:
- C# 语言学习
- 桌面编程(C#提高和.NET Framework 使用训练)
- WEB 开发
- 高级内容
第一部分 C#面向对象编程
1 c# 简介
- Dot NET Framework 概述
- Dot NET 应用的工作原理
- 介绍 C# 语言,以及 C# 和 Dot NET 框架的关系
- Dot NET 程序开发工具
2 编写 C# 程序
- Visual Studio 2015 简介
- 编写简单的控制台程序
- 编写简单的桌面程序
3 变量和表达式
- C# 的基础语法
- 使用变量
- 使用表达式
4 流程控制
- 使用布尔逻辑
- 分支
- 循环
5 变量详解
- 显式和隐式类型转换
- 创建和使用 enum 类型
- 创建和使用 struct 类型
- 创建和使用数组
- 操作 string 类型
6 函数
- 无参无返回值的函数
- 参数传递和返回值
- 变量的作用域
- Main 函数中的命令行参数
- 函数作为 struct 的成员(即方法)
- 函数重载
- 代理(即 C# 中的函数指针)
7 调试和错误处理
- IDE 提供的调试工具
- C# 中的错误处理
8 面向对象编程概述
- 理解面向对象编程
- 使用 OOP 技术
- OOP 技术在桌面程序中的应用
9 定义 Class
- 定义 Class 和 Interface
- 访问控制和继承时候用到的关键字
- System.Object 类型的作用
- VS 中提供的常用工具
- 定义 Class 库
- Interface 和抽象类的异同点
- 深入 struct 类型
- 对象拷贝时需要注意的点
10 定义 Class 成员
- 类成员定义
- 类成员的继承控制
- 定义嵌套类型
- 实现接口
- 使用 partial 关键字
- 使用 Call Hierarchy window
11 集合,比较和转换
- 定义和使用集合
- 不同类型的集合
- 类型间比较和使用 is 操作符
- 值类型间比较以及操作符重载
- 定义和使用转换
- 使用 as 操作符
12 泛型
- 泛型概述
- Dot NET 框架中提供的泛型类型
- 自定义泛型类型
- variance 和泛型结合使用
13 其他 C# 技术
- 使用 :: 操作符
- 全局名空间修饰符
- 创建自定义异常
- event
- 匿名方法
- C# 中的标签
- 构造方法
- 使用类型推导和 var
- 使用匿名类型
- 使用 dynamic 类型
- 使用带参数标签的方法和默认参数值
- 使用 lambda 表达式
第二部分 Windows 编程
14 基本桌面编程
- 使用 WPF 设计器
- 使用控件
- 使用控件触发 event
- 使用文本类控件
- 使用多选类控件
- 使用列表显示类控件
- 使用控件容器 panel
15 高级桌面编程
- 使用 routed command 来替代 event
- 创建菜单
- 使用 XAML styles
- 创建 value converter
- 使用 timeline 来创建动画
- 使用动态和静态资源
- 使用自定义控件
16 基本云编程
- 理解云,云编程和云优化栈
- 使用云设计模式
- 使用 Azure C# 库创建 storage container
- 使用 storage container 创建 ASP.NET 4.6 web 站点
17 高级云编程和部署
- 创建 ASP.NET Web API
- 部署 ASP.NET Web API 程序到 Azure 并进行访问
- 扩展 ASP.NET Web API