Effective C# 第三章,用C#表达你的设计

C#语言为你的设计介绍了一种新的语法,你可以选择这种技术让你的设计与 其它的开发人员进行交流,这些开发人员可以维护,扩展或者是使用你设计的软 件。C#的所有类型都是生存在.Net环境下的,这个环境对于所有类型的兼容性做 了一些好的假设。但如果你违反了这些假设,你就增加了类型不能正确工作的可 能性。

这些原则不是那些已经出版了的软件设计技术的概要,相反,这 些原则醒目的给出了怎样用不同的C#语言特性来表达最好的软件设计意图。C#语 言的设计者添加了一些语言特性,用来更清楚的表达现代的软件设计习惯。具体 的语言特性有什么杰出的地方是很微妙的,并且你经常会有很多可选的方法。更 多的选择在一开始可能只是更好的方案,但随后,语言特性杰出的地方会展示出 来,你会发现你有必要增强已经存在的程序。确保你能很好的理解这些原则,并 且小心的应用它们,在你创建自己的系统时,注意那些最有可能增强(设计)的机 会。

一些语法的改变会给你一些新的词汇,用来描述一些你每天都要使 用的习惯。属性,索引器,事件,以及代理就是例子。它们与类和接口是不同的 :类定义类型,接口声明行为。基类声明类型,并且为一些放在一起的相关类型 定义一些常用的行为。因为垃圾回收器,另一些设计习惯已也经改变了;还有一 些改变,是因为大多数变量是引用类型。

这一章里推荐的原则会帮助你 为你的设计选择一些最自然的表达方法。这将让你能设计出更容易维护,更容易 扩展,并且更容易使用的软件。

返回教程目录

时间: 2024-09-12 20:25:26

Effective C# 第三章,用C#表达你的设计的相关文章

Java初级笔记-第三章

第三章 程序设计基础 3.1 流程图 3.1.1 什么是流程图: 流程图是通过箭头(流程线)相互连接的几何图形来表达程序运行的方法. 流程图是算法的一种图形化描述,比较直观的表达了一件事务的处理过程.相对于代码来讲容易理解. 3.1.2 流程图的组成: 画流程图的方法是:从左到右.从上到下.根据问题的需要,确定解决问题的先后处理顺序以及前提条件,将流程线将各图形符号连接起来,直观的表达自己的逻辑思想或问题的处理方法,最终达到预期的结果. 注意事项: 一个流程图只能有一个开始框,开始框作为处理问题

OpenGl第三章后续,纹理,绘制图片,文字

OpenGl第三章后续,纹理,绘制图片,文字,直接 // 创建文理gl.glEnable(GL10.GL_TEXTURE_2D);texturesBuffer = IntBuffer.allocate(1);gl.glGenTextures(1, texturesBuffer);gl.glBindTexture(GL10.GL_TEXTURE_2D, texturesBuffer.get(0)); // 设置文理的参数gl.glTexParameterx(GL10.GL_TEXTURE_2D,

Android群英传笔记——第三章:Android控件架构与自定义控件讲解

Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基础的,可以先看下我之前写的几篇基础的View博客 Android绘图机制(一)--自定义View的基础属性和方法 Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 Android绘图机制(三)--自定义View的三种实现方式以及实战

HBase in Action前三章笔记

最近接触HBase,看了HBase In Action的英文版.开始觉得还行,做了些笔记,但是后续看下去,越来越感觉到实战这本书比较偏使用上的细节,对于HBase的详细设计涉及得非常少.把前三章的一些笔记帖一下,后面几章内容不打算整理了,并不是说书内容不好. key-value存储,强一致性,多个RegionServer节点对client端是不暴露细节的 使用场景:典型的web-search, capture incremental data, ad. click stream, content

网页排版CSS教学第三章 CSS的应用补充

css|网页 第三章 CSS的应用补充 挑 选 者 特 性 的 应 用 在讲挑选者的特性之前,要提一下的是CSS继承的特性.所谓的继承的特性是指被包在内部的标签将拥有外部标签的样式性质.继承的特性最典型的应用通常发挥在预设整份网页的样式,而要指定为其它样式的部份再依要设定在个别元素里即可.这项特性可以提供网页设计者更理想的发挥空间. 接下来就要讲挑选者特性的应用!其实这部份应该算是声明的一种方式,但是在您看过第二章的基本的声明与应用後,到这边再讲挑选者您会比较有概念点.在CSS应用或设计的时候,

《.net编程先锋C#》第三章 第一个C#应用程序(转)

编程|程序 第三章 第一个C#应用程序 3.0 选择一个编辑器尽管我是一个顽固的Notepad狂,但这次我不建议用它编辑源码.原因是你正在与真正的编程语言打交道,使用Notepad编辑源码编译时可能产生大量的错误信息行(C++程序员知道我在说什么.)你有几种选择.可以重新配置你信任的老式Visual C++ 6.0,使它能够和C#源文件一起工作.第二种选择是使用新的Visual Studio 7.第三,你可以用任何第三方程序编辑器,最好要支持行数.色彩编码.工具集成和良好的搜索功能.CodeWr

> 前言(补充) 和第三章 第一个C#程序(rainbow 翻译)(来自重粒子空间)

程序 <<展现C#>> 前言(补充) 和第三章 第一个C#程序(rainbow 翻译)   出处:http://www.informit.com/matter/ser0000001/chapter1/ch03.shtml 正文: 前言0.1  提要    欢迎阅读<展现 C#>(Presenting C#).这本书是你提高企业编程语言的一条捷径.这种企业编程语言带有下一代编程语言服务运行时(NGWS Runtime):C#(发音"C sharp").

3D编程:第三章 Tools of the Trade

第三章 Tools of the Trade 图形程序员可以通过各种优秀的工具来辅助编写shader,开发调试应用程序,创建资源.幸运的是大部分工具都是免费使用的,因为学习图形学不需要一大笔投资.本章将介绍当前市场上最好的一些工具. Microsoft Visual Studio Microsoft Visual Studio是微软平台上编写软件的一整套完成的集成开发环境.支持各种编程语言和硬件平台,包括Windows Phone,Xbox 360,以及Xbox One.我们主要考虑的是VS对C

python学习笔记第三章:最初的步骤

今天从笔记的标题来看,你可能会很困惑,什么"最初的步骤"?这个标题是我引用了<python简明教程>中第三章的标题,给大家解释下就会都明白了. "最初的步骤"主要讲的就是 你刚才学习.练习python所用到的一些编辑器和执行python代码的方式. 一.使用带提示符的编辑器 "带提示符的编辑器" 也就是linux系统使用的终端,Windows系统中使用的命令提示符. 在linux终端shell提示符下输入python,启动pthon解