c#的一些应用(3)

2019-06-11 09:21

}

while (condition);

switch语句,每个switch里都应包含default子语句,格式如下: switch (condition) {

case ABC: statements; /* falls through */ case DEF: statements; break; case XYZ: statements; break; default: statements; break; }

try-catch语句格式如下: try {

statements; }

catch (ExceptionClass e) {

statements; } finally {

statements; }

9. 类型设计规范

要确保每个类型由一组定义明确,相互关联的成员组成,而不仅仅是一些无关功能的随 机集合;

9.1. 类型和命名空间

要用命名空间把类型组织成相关域的层次结构。例如: 界面层:Techstar.ProductionCenter;

业务逻辑层:Techstar.ProductionCenter.Business; 数据访问层:Techstar.ProductionCenter.Data; 避免过深的命名空间; 避免太多的命名空间; 9.2. 类型和接口的选择 要优先采用类而不是接口。

接口的缺点在于语义变化时改变困难。注意接口并不是协定,把协定和实现分开并非一 定用接口实现,用基类和抽象类同样可以表达;

建议使用抽象类而不是接口来解除协定与实现间的偶合; 要定义接口,来实现类似多重继承的效果;

精心定义接口的标志是一个接口只做一件事情。关键是接口的协定需要保持不变, 如果一个接口包含太多功能,那么这个胖接口产生变化的机会就会大得多。

9.3. 抽象类设计:

不要在抽象类中定义公有的或内部受保护的构造函数。因为抽象类无法实例化,所以这 种设计会误导用户;

要为抽象类定义受保护的构造函数或内部构造函数; 9.4. 静态类设计

静态类是一个只包含静态成员的类,它提供了一种纯面向对象设计和简单性之间的一个权衡,广泛用来提供类似于全局变量或一些通用功能。

要少用静态类。静态类应该仅用作辅助类;

避免把静态类当作杂物箱。每个静态类都应该有其明确目的; 不要在静态类中声明或覆盖实例成员; 9.5. 枚举设计

要用枚举来加强那些表示值的集合的参数,属性以及返回值的类型性; 要优先使用枚举而不是静态常量。例如: //不好的写法

public static class Color {

public static int Red = 0; public static int Green = 1; public static int Blue = 2; }

//好的写法 public enum Color {

Red, Green, Blue }

不要把枚举用于开放的场合,例如操作系统的版本,朋友的名字等; 枚举最后一个值不要加逗号;

枚举中不要提供为了今后使用而保留的枚举值;

10. 成员设计规范

方法,属性,事件,构造函数以及字段等统称为成员。 10.1. 成员设计的一般规范 10.2. 方法的重载规范;

避免在重载中随意的给参数命名。如果两个重载中的某个参数表示相同的输入,那么该参数的名字应该相同。例如:

public class String {

//好的写法

public int IndexOf(string value) { ...}

public int IndexOf(string value, int startIndex) { ...} //不好的写法

public int IndexOf(string value) { ...}

public int IndexOf(string str, int startIndex) { ...} }

避免使重载成员的参数顺序不一致。在所有的重载中,同名参数应该出现在相同的位置。 例如:

public class EventLog {

public EventLog();

public EventLog(string logName);

public EventLog(string logName, string machineName);

public EventLog(string logName, string machineName, string source); }

较短的重载应该仅仅调用较长的来实现。另外,重载如果需要扩展性,把最长重载 做成虚函数。例如:

public class String {

public int IndexOf(string s) { //调用

return IndexOf(s, 0); }

public int IndexOf(string s, int startIndex) { //调用

return IndexOf(s, startIndex, s.Length); }

public virtual int IndexOf(string s, int startIndex, int Count) {

//实际的代码


c#的一些应用(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:无效婚姻的认定及处理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: