这个重构方法其实就是说把类的接口抽取出来,参数传递的时候以接口而不是具体的类

个人理解这就是面向接口的编程思想吧,有哪位达人知道的请告知一下

例子很简单,旧代码:

    public class ClassRegistration
     {
        public void Create()
         {
        

之前有说过尽量少用继承

这个方法就是讲这个的

旧的代码:

public class Sanitation
 {
    public string WashHands()
     {
        return "Cleaned!";
     }
 }
public class Child : Sanitation
 {
 }

重构后的代码:

public class Sanitation
 {
    public string WashHands()
     {
        return "Cle…

第7天:重命名

默认 2010-01-21 13:33

其实这一条很好理解,就是对类名,变量名,参数名,方法名乱写,这样很容易搞错

比方说起一些名字叫a1,a2就比较难以理解

应该起一些更加具有描述性,更助于理解的名字

示例代码:

旧代码

    public class Person
     {
        public string FN { get; set; }
 &n

和第4天的下移方法一样,只不过是方法变成了字段

和第3天的上移方法一样,只不过方法换成了字段而已

和第3天的上移方法相反,下移方法就是说,如果一个方法在包含在基类中,如果子类只有一个会使用到这个方法,那么就应该移动到子类中

代码很简单,就不粘贴了

这个方法的意思就是说如果有两个类使用同一方法,可以用一个基类完成

从而改善代码,

旧的代码如下

    public class Car
     {
        public void Turn(Direction direction)
         {
         }
    

我觉得这个其实没什么就是说把某些方法移动到常用的类里面去

这个应该在我们写程序的时候潜意识里面就会做到的

例子如下

错误的代码:

public class BankAccount
     {
        public BankAccount(int accountAge, int creditScore,
         AccountInterest accountInte

对集合进行封装,只把需要的接口暴露给外部使用者,例如AddStudent,RemoveStudent

以及属性Count

而不是把整个集合暴露出来让外部使用者去操作

    public class MyCollection
     {
        public MyCollection()
         {
             list =

test

默认 2010-01-19 14:19

一直在用百度的空间来写东西,原因只有一个,速度快,

但是百度的空间其实一点都不好,不支持windows live writer,不支持长文

今天下了一个菊子曰的软件,可以离线发表百度bolg,测试一下

测试一下图片