我有一个演示脚本,它很好地展示了这个问题,所以我会展示这个脚本,然后提问。
class Program
{
static void Main(string[] args)
{
Dog dog = new Dog() { Age = 4 };
//This approach (version A)
dog.DisplayDogYears();
//Or this approach (version B)
displayDogYears(dog);
Console.ReadKey();
}
private static void displayDogYears(Dog d)
{
Console.WriteLine("The dog is {0} years old in human years.", d.Age * 7);
}
}
public class Dog
{
public int Age { get; set; }
public void DisplayDogYears()
{
Console.WriteLine("The dog is {0} years old in human years.", Age * 7);
}
}
有两种方法可以做同样的事情(方法 A 和 B)。就可扩展性和可读代码而言,是否有任何理由更喜欢一种方法而不是另一种方法。我可以看到方法 A 的一个优点是该方法可用于 Dog 类的所有实例(非常好、可扩展、可重用和可维护,但是,在调试时它确实意味着我必须在不同的类之间移动(而 VS 有跳转到不同的文件等),而不是只在一个文件中查看所有内容。
有什么想法吗?
戴夫