001 课程简介,C# 语言简介,开发环境准备 (yuque.com)https://www.yuque.com/yuejiangliu/dotnet/timothy-csharp-001
一个Solution里包含多个Project



一、见识 C# 编写的各类应用程序

二、类库的引用(黑/白盒引用)

1、黑盒引用(DLL引用,无源代码):没有办法修改DLL里的代码的错误
黑盒引用的依赖关系很强,写程序最好使用弱的依赖关系。这样就算引用的类文档出错,也可以换一个其他的类继续写代码。


(1)NuGet:将一个类库全部下载,不用担心是否下载完。(大小类库全部下载)
(因为有些类库太大,里面还有其它小类库。想要引用大的类库就必须得引用小类库。)

2、白盒引用(项目引用,有源代码)
(1)导入有源代码的库





(2)如果引用的库里的算法等有错,修改引用库里代码的方法
<1>设置断点、开始调试

<2>点击"Step into"跳到引用的库里的函数

这样执行指针就进入到了这个类库的Sub方法里去。

3、建立自己的类库项目


三、依赖关系:高内聚,低耦合
高内聚:一些数据和功能,该属于哪个类就放进哪个类。
低耦合:类与类之间的依赖关系尽可能低和松。
