C#高效编程:改进C#代码的50个行之有效的办法(第2版)(奋斗的小鸟)_PDF 电子书

C#高效编程:改进C#代码的50个行之有效的办法(第2版)

 

 

下载地址:http://pan.baidu.com/share/link?shareid=1689099661&uk=721744522

 

QQ:2864670220
点击这里给我发消息 (提供电子书提取密码

内容简介

    《C#高效编程:改进C#代码的50个行之有效的办法(第2版)》围绕C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等主题,针对50个常见问题给出了详实的解决方案,并就提升编程效率给出了合理建议。书中内容共分6章,分别讲述了实际编程中不可或缺的习惯用法,如何更好地配合开发环境以期在优化之前解决问题,如何用C#语言良好地表达设计意图,BCL、Parallel Task Library的最常见用法和使用框架过程中常用的技巧,如何在C#中使用动态特性,以及一些对创建强壮、易于维护的程序来说非常重要的难以归类的主题。
    《C#高效编程:改进C#代码的50个行之有效的办法(第2版)》适合所有C#程序员,也可供高等院校相关专业师生参考。
 

目录

第1章 C#语言习惯
条目1 使用属性而不是可访问的数据成员
条目2 用运行时常量(readonly)而不是编译期常量(const)
条目3 推荐使用is或as操作符而不是强制类型转换
条目4 使用Conditional特性而不是#if条件编译
条目5 为类型提供ToString()方法
条目6 理解几个等同性判断之间的关系
条目7 理解GetHashCode()的陷阱
条目8 推荐使用查询语法而不是循环
条目9 避免在API中使用转换操作符
条目10 使用可选参数减少方法重载的数量
条目11 理解短小方法的优势

第2章 .NET资源管理
条目12 推荐使用成员初始化器而不是赋值语句
条目13 正确地初始化静态成员变量
条目14 尽量减少重复的初始化逻辑
条目15 使用using和try/finally清理资源
条目16 避免创建非必要的对象
条目17 实现标准的销毁模式
条目18 区分值类型和引用类型
条目19 保证0为值类型的有效状态
条目20 保证值类型的常量性和原子性

第3章 使用C#表达设计
条目21 限制类型的可见性
条目22 通过定义并实现接口替代继承
条目23 理解接口方法和虚方法的区别
条目24 用委托实现回调
条目25 用事件模式实现通知
条目26 避免返回对内部类对象的引用
条目27 让类型支持序列化
条目28 提供粗粒度的因特网服务API
条目29 支持泛型协变和逆变

第4章 使用框架
条目30 使用覆写而不是事件处理函数
条目31 使用IComparable和IComparer实现顺序关系
条目32 避免使用ICloneable接口
条目33 仅用new修饰符处理基类更新
条目34 避免重载基类中定义的方法
条目35 PLINQ如何实现并行算法
条目36 理解PLINQ在I/O密集场景中的应用
条目37 注意并行算法中的异常

第5章 C#中的动态编程
条目38 理解动态类型的优劣
条目39 使用动态类型表达泛型类型参数的运行时类型
条目40 将接受匿名类型的参数声明为dynamic
条目41 用DynamicObject或IDynamicMetaObjectProvider实现数据驱动的动态类型
条目42 如何使用表达式API
条目43 使用表达式将延迟绑定转换为预先绑定
条目44 尽量减少在公有API中使用动态对象

第6章 杂项
条目45 尽量减少装箱和拆箱
条目46 为应用程序创建专门的异常类
条目47 使用强异常安全保证
条目48 尽量使用安全的代码
条目49 实现与CLS兼容的程序集
条目50 实现小尺寸、高内聚的程序集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、 FACTORY —追 MM 少不了请吃饭了, 麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西, 虽然口味有所不同, 但不管你带 MM 去麦当劳或肯德基, 只管向服务员说“来四个鸡翅”就行 了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消 工厂模式 费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如 何创建及如何向客户端提供。 2、BUILDER — MM 最爱听的就是“我爱你”这句话了,见到不同地方的 MM,要能够用她们的 、 方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到 MM 我只要按对应的键, 它就能够用相应的语言说出“我爱你”这句话了, 国外的 MM 也可以轻松 搞掂,这就是我的“我爱你”builder。 (这一定比美军在 伊拉克用的翻译机好卖) 建造模式: 从而使一个建造过程生成具有不 建造模式 将产品的内部表象和产品的生成过程分割开来, 同的内部表象的产品对象。 建造模式使得产品内部表象可以独立的变化, 客户不必知道产品 内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。 3、FACTORY METHOD —请 MM 去麦当劳吃汉堡,不同的 MM 有不同的口味,要每个都记住 、 是一件烦人的事情,我一般采用 Factory Method 模式,带着 MM 到服务员那儿,说“要一个 汉堡”,具体要什么样的汉堡呢,让 MM 直接跟服务员说就行了。 工厂方法模式: 而是将具体创建的工作交给子类去做, 工厂方法模式 核心工厂类不再负责所有产品的创建, 成为一个抽象工厂角色, 仅负责给出具体工厂类必须实现的接口, 而不接触哪一个产品类应 当被实例化这种细节。 4、 、 PROTOTYPE —跟 MM 用 QQ 聊天, 一定要说些深情的话语了, 我搜集了好多肉麻的情话, 需要时只要 copy 出来放到 QQ 里面就行了, 这就是我的情话 prototype 了。 (100 块钱一份, 你要不要) 原始模型模式: 原始模型模式 通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原 型对象的方法创建出更多同类型的对象。 原始模型模式允许动态的增加或减少产品类, 产品 类不需要非得有任何事先确定的等级结构, 原始模型模式适用于任何的等级结构。 缺点是每 一个类都必须配备一个克隆方法。 5、 、 SINGLETON —俺有 6 个漂亮的老婆, 她们的老公都是我, 我就是我们家里的老公 Sigleton, 她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事) 单例模式: 而且自行实例化并向整个系统提供这个实 单例模式 单例模式确保某一个类只有一个实例, 例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。 结构型模式 6、ADAPTER —在朋友聚会上碰到了一个美女 Sarah,从香港来的,可我不会说粤语,她不 、 会说普通话,只好求助于我的朋友 kent 了,他作为我和 Sarah 之间的 Adapter,让我和 Sarah 可以相互交谈了(也不知道他会不会耍我) 适配器模式: 从而使原本因接口原因不 适配器模式 把一个类的接口变换成客户端所期待的另一种接口, 匹配而无法一起工作的两个类能够一起工作。 适配类可以根据参数返还一个合适的实例给客 户端。 7、BRIDGE —早上碰到 MM,要说早上好,晚上碰到 MM,要说晚上好;碰到 MM 穿了件新 、 衣服, 要说你的衣服好漂亮哦, 碰到 MM 新做的发型, 要说你的头发好漂亮哦。 不要问我“早 上碰到 MM 新做了个发型怎么说”这种问题,自己用 BRIDGE 组合一下不就行了 桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关 桥梁模式 联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是 继承关系,从而使两者可以独立的变化。 8、COMPOSITE —Mary 今天过生日。“我过生日,你要送我一件礼物。”“嗯,好吧,去商店, 、 你自己挑。”“这件 T 恤挺漂亮,买,这裙子好看,买,这个包也不错, 买。”“喂,买了 三件了呀,我只答应送一件礼物的哦。”“什么呀,T 恤加裙子加包包,正好配成一套呀,小 姐,麻烦你包起来。”“……”,MM 都会用 Composite 模式了,你会了没有? 合成模式:合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式就 合成模式 是一个处理对象的树结构的模式。 合成模式把部分与整体的
由于pdf太大,此处给出链接地址:https://pan.baidu.com/s/1O3WN_xe2S2wcBOF33K0dfQ,如果失效请留言 作为软件的基石,代码的质量决定了最终产品的质量,本书从这一点出发,介绍了高质量c#代码的成就过程,即从基础代码到软件结构,以及不断优化和重构的过程。 《构建高质量c#代码》主要内容包括c#的基本语法、结构与应用特点,常用开发资源与技术要点,设计模式在c#中的应用等,以及特别重要的一点,即我们应该养成良好的开发习惯,不仅要注重技术细节,还要从更宽阔的视野角度来重新审视代码的构建工作。 无论你是c#初学者,还是正在应用c#的开发者,如果你关注代码的质量,愿意进一步提高软件项目的质量,本书能为你提供帮助。 构建高质量c#代码目录: 第1章 开启c#之旅 1 第2章 处理数据 21 第3章 控制程序流程 69 第4章 处理异常 93 第5章 数组 106 第6章 结构 124 第7章 枚举 130 第8章 类 135 第9章 类的继承 170 第10章 接口 188 第11章 委托与事件 197 第12章 命名空间 207 第13章 泛型 217 第14章 运算符重载 221 第15章 资源同步与自动清理 226 第16章 关于c#的其他主题 235 第17章 代码的进化 251 第18章 策略模式 266 第19章 工厂方法模式 285 第20章 抽象工厂模式 304 第21章 生成器模式 319 第22章 单件模式 332 第23章 观察者模式 341 第24章 享元模式 359 第25章 组合模式 369 第26章 装饰者模式 378 第27章 状态模式 391 第28章 桥接模式 406 第29章 软件开发之路 420 附录a 设计模式名录 426

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值