当前位置:首页 > 工业技术
构建高质量的C#代码
构建高质量的C#代码

构建高质量的C#代码PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:曹化宇编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121197130
  • 页数:431 页
图书介绍:作为软件的基石,代码的质量决定了最终产品的质量,本书从这一点出发,介绍了高质量C#代码的成长过程,即从基础代码到软件结构,以及不断优化和重构的过程。本书主要内容包括C#的基本语法、结构与应用特点,常用开发资源与技术要点,设计模式在C#中的应用等,以及特别重要的一点,即我们应该养成良好的开发习惯,不仅要注重技术细节,还要从更宽阔的视野角度来重新审视代码的构建工作。
《构建高质量的C#代码》目录

第1章 开启C#之旅 1

1.1软件开发概述 1

1.1.1开发应用软件 1

1.1.2软件开发的一般步骤 2

1.2代码构建的重要性 3

1.3认识C#编程语言 4

1.3.1 C#简史 5

1.3.2 C#关键字及相关标识符 6

1.3.3 C#中的语句和表达式 7

1.4构建C#开发环境 8

1.4.1安装开发环境 8

1.4.2 C#程序的基本结构 10

1.4.3如何创建窗体程序 12

1.5高质量代码准则:可阅读 15

1.5.1养成好的代码编写习惯 15

1.5.2代码不是私人财产,而是艺术品 16

1.5.3代码应该具有可维护性 16

1.5.4注释你的代码 16

1.6高质量代码准则:用实践证明一切 17

1.7高质量代码准则:好心情带来高质量 18

1.8准备你的开发工具箱 19

第2章 处理数据 21

2.1 C#数据处理基础 21

2.1.1 C#数据类型 21

2.1.2变量与常量 23

2.1.3高质量代码准则:给变量起个好名字 24

2.1.4值类型与引用类型 25

2.1.5字面值 26

2.2整数 26

2.2.1整数的一般运算 26

2.2.2溢出检查 28

2.2.3 ++与--运算 31

2.2.4移位运算 32

2.2.5高质量代码准则:准确使用整数 33

2.3浮点数与decimal类型 34

2.3.1浮点数与decimal数据的运算 34

2.3.2高质量代码准则:合理使用浮点数和decimal类型 35

2.4布尔类型 40

2.4.1布尔运算 40

2.4.2布尔类型数据的用途 41

2.5字符 41

2.5.1 char类型 41

2.5.2 ASCII码表(0~127) 42

2.6字符串 44

2.6.1转义字符 44

2.6.2逐字字符串(@) 45

2.6.3字符串的常用操作 46

2.6.4单个字符时使用char类型 51

2.6.5使用StringBuilder类型 52

2.7日期与时间的处理 53

2.7.1使用DateTime结构类型 53

2.7.2获取中国农历信息 55

2.8数据类型的转换 58

2.8.1显式转换 58

2.8.2隐式转换 60

2.8.3 Try Parse()方法转换 60

2.8.4使用Convert类 61

2.8.5转换是有代价的 63

2.9 object类型 63

2.9.1一切皆对象 63

2.9.2装箱和拆箱 64

2.9.3高质量代码准则:object不应作为万能类型 65

2.10 C#运算符 67

第3章 控制程序流程 69

3.1 if语句 69

3.1.1使用if语句 69

3.1.2注意事项 76

3.2 switch语句 77

3.2.1使用switch语句 77

3.2.2注意事项 81

3.3 for语句 81

3.3.1使用for语句 81

3.3.2注意事项 84

3.4 while语句 85

3.4.1使用while语句 85

3.4.2注意事项 86

3.5 do语句 86

3.5.1使用do语句 86

3.5.2注意事项 87

3.6 foreach语句 88

3.6.1使用foreach语句 88

3.6.2注意事项 89

3.7 break语句 89

3.8 continue语句 90

3.9 goto语句与标签 91

第4章 处理异常 93

4.1 C#中的异常处理 93

4.1.1 Exception类型 93

4.1.2 try-catch语句结构 93

4.1.3处理具体的异常类 95

4.1.4使用finally语句块 96

4.1.5 throw语句 98

4.2高质量代码准则:处理异常智能化、模式化 100

4.3在Visual C#中调试代码 101

第5章 数组 106

5.1 C#中的数组 106

5.1.1简单数组 106

5.1.2洗牌——随机排序算法 109

5.1.3多维数组 110

5.2使用Array类 113

5.2.1排序 113

5.2.2反序排列 114

5.2.3修改成员数量 115

5.3使用ArrayList类 116

5.4使用Hashtable类 118

5.5表驱动法——完善中国农历信息的处理 120

第6章 结构 124

6.1创建结构类型 124

6.2结构成员 125

6.2.1结构中的方法 125

6.2.2结构中的属性 126

6.2.3其他成员 128

6.3结构的应用 128

第7章 枚举 130

7.1 C#中的枚举 130

7.2枚举的应用 133

第8章类 135

8.1创建类的作用与目的 135

8.2 C#中的类 135

8.2.1创建类 135

8.2.2创建类的实例 136

8.2.3构造函数与析构函数 137

8.2.4构造函数的重载 139

8.2.5构造函数链 140

8.3类成员的可访问性 141

8.4变量 142

8.5属性 142

8.6方法 145

8.6.1创建方法 145

8.6.2方法的参数 147

8.6.3方法的返回值 152

8.6.4方法的重载 152

8.6.5高质量代码准则:创建高质量的方法 154

8.7索引器 154

8.8静态类与静态成员 157

8.8.1静态成员 157

8.8.2静态类 159

8.9关于类的更多内容 160

8.10高质量代码准则:创建高质量的类 160

8.11封装中国农历信息类 161

8.11.1第一个版本 161

8.11.2重构版本 165

第9章 类的继承 170

9.1继承概述 170

9.1.1现实世界中的继承 170

9.1.2 C#中的继承 170

9.1.3能否继承 175

9.2子类 176

9.2.1扩展功能 177

9.2.2隐藏基类成员 178

9.2.3区分子类与基类成员 179

9.2.4重写虚成员 181

9.3抽象类与抽象成员 182

9.4继承的局限性 187

第10章 接口 188

10.1接口的特点 188

10.2创建接口 189

10.3实现接口 190

10.4接口的继承 191

10.5实现多个接口 193

第11章 委托与事件 197

11.1访问者模式 197

11.2委托 199

11.3事件 201

11.4多路广播委托 205

第12章 命名空间 207

12.1命名空间的成员 207

12.2命名空间的组织 208

12.3引用与别名 209

12.3.1引用命名空间 209

12.3.2命名空间别名 210

12.4使用Microsoft.VisualBasic命名空间 212

12.4.1获取操作系统与内存信息 213

12.4.2播放波形文件 215

12.4.3网络基本应用 216

第13章 泛型 217

13.1泛型方法 217

13.2泛型类 218

13.3约束 220

第14章 运算符重载 221

14.1在结构中重载运算符 221

14.2在类中重载运算符 223

第15章 资源同步与自动清理 226

15.1多线程 226

15.2易失域(volatile field) 229

15.3 lock语句 231

15.4 using语句 232

第16章 关于C#的其他主题 235

16.1预处理 235

16.1.1根据条件编译代码 235

16.1.2发布警告或错误 237

16.1.3定义代码区域 238

16.2特性 238

16.2.1使用DllImportAttribute特性 239

16.2.2自定义特性 241

16.3不安全代码 243

16.3.1指针与寻址运算 244

16.3.2 sizeof运算 246

16.4分部类型(partial type) 247

16.5可空类型(nullable type) 249

第17章 代码的进化 251

17.1从代码到架构 251

17.1.1基础代码 251

17.1.2代码集成 252

17.2重构 252

17.3设计模式 253

17.4关注代码改进的过程 254

17.5找寻.NET Framework中的设计模式 255

17.5.1迭代器模式 255

17.5.2适配器模式 258

17.5.3模板方法模式 264

第18章 策略模式 266

18.1虚拟战争游戏示例:使用策略模式组合作战单位 266

18.1.1第一设计方案 266

18.1.2陆、海、空 269

18.1.3真正的设计方案 271

18.1.4组合第一个作战单位 275

18.1.5这一切是怎样发生的 277

18.2应用分析 278

18.2.1问题 279

18.2.2解决方案 280

18.2.3应用特点 284

第19章 工厂方法模式 285

19.1虚拟战争游戏示例:控制作战单位的创建 285

19.1.1收起自由创建单位的权力 285

19.1.2控制作战单位类型 288

19.1.3统一作战单位的创建方法 290

19.2应用分析 294

19.2.1问题 294

19.2.2解决方案 295

19.2.3使用空对象 299

19.2.4应用特点 300

19.3工厂方法的应用 301

19.3.1代替构造函数 301

19.3.2隐藏特殊对象的创建 303

第20章 抽象工厂模式 304

20.1示例:模拟组装电脑 304

20.2应用分析 310

20.2.1问题 310

20.2.2解决方案 311

20.2.3应用特点 316

20.2.4与工厂方法模式的对比 317

第21章 生成器模式 319

21.1示例:创建汽车配置清单 319

21.2应用分析 324

21.2.1问题 324

21.2.2解决方案 325

21.2.3应用特点 331

第22章 单件模式 332

22.1虚拟战争游戏示例:唯一的重要人物 332

22.1.1重要人物登场 332

22.1.2应用单件模式 334

22.2应用分析 337

22.2.1问题 337

22.2.2解决方案 337

22.2.3应用特点 338

22.2.4多线程中的单件 338

第23章 观察者模式 341

23.1订阅邮件——现实版观察者模式 341

23.2虚拟战争游戏示例:空降作战 342

23.2.1准备登机 342

23.2.2诺曼底大空降 346

23.3 .NET Framework 4.0中的观察者 347

23.4应用分析 351

23.4.1问题 351

23.4.2解决方案 351

23.4.3应用特点 358

第24章 享元模式 359

24.1虚拟战争游戏示例:点缀作战地图 359

24.1.1第一个方案 359

24.1.2使用享元模式 361

24.2应用分析 364

24.2.1问题 364

24.2.2解决方案 364

24.2.3应用特点 368

第25章 组合模式 369

25.1虚拟战争游戏示例:多武器平台 369

25.1.1一个平台…多种武器 369

25.1.2使用组合模式 369

25.2应用分析 372

25.2.1问题 372

25.2.2解决方案 372

25.2.3应用特点 377

第26章 装饰者模式 378

26.1三国游戏示例:装备提高战斗力 378

26.1.1角色与装备 378

26.1.2使用装饰者模式 381

26.2应用分析 386

26.2.1问题 386

26.2.2解决方案 387

26.2.3应用特点 389

第27章 状态模式 391

27.1三国游戏示例:角色被击中后 391

27.1.1添加角色状态 391

27.1.2使用状态模式 395

27.2应用分析 401

27.2.1问题 401

27.2.2解决方案 401

27.2.3应用特点 404

第28章 桥接模式 406

28.1绘图示例:绘制图形与文本 406

28.1.1抽象与实现的分离 406

28.1.2应用桥接模式 408

28.2应用分析 414

28.2.1问题 414

28.2.2解决方案 415

28.2.3应用特点 419

第29章 软件开发之路 420

29.1 C#与设计模式 420

29.2如何使用设计模式 421

29.3继续学习 422

附录A设计模式名录 426

相关图书
作者其它书籍
返回顶部