相关疑难解决方法(0)

构造函数与工厂方法

建模类时,首选的首选方法是什么:

  1. 构造者,或
  2. 工厂方法

使用其中任何一个会有什么考虑因素?

在某些情况下,我更喜欢有一个工厂方法,如果无法构造对象,则返回null.这使代码整洁.在执行替代操作之前,我可以简单地检查返回的值是否为null,与从构造函数中抛出异常相反.(我个人不喜欢例外)

比如说,我在类上有一个构造函数,它需要一个id值.构造函数使用此值从数据库填充类.如果不存在具有指定标识的记录,则构造函数将抛出RecordNotFoundException.在这种情况下,我将不得不在try..catch块中包含所有这些类的构造.

与此相反,我可以在这些类上有一个静态工厂方法,如果找不到记录,它将返回null.

在这种情况下,哪种方法更好,构造函数或工厂方法?

oop ooad

172
推荐指数
9
解决办法
7万
查看次数

在构造函数中抛出ArgumentNullException?

对于具有单个参数的构造函数,如果参数为null/empty,是否可以在构造函数内抛出ArgumentNullException?或者,是否应该在实际使用参数的方法中抛出?谢谢.

c# null constructor arguments exception

51
推荐指数
2
解决办法
2万
查看次数

从.NET中的构造函数中抛出异常

当我从如下构造函数中抛出异常时是否有任何内存泄漏?

class Victim
{
    public string var1 = "asldslkjdlsakjdlksajdlksadlksajdlj";

    public Victim()
    {
        //throw new Exception("oops!");
    }
}
Run Code Online (Sandbox Code Playgroud)

垃圾收集器是否会收集失败的对象?

.net memory garbage-collection exception

11
推荐指数
2
解决办法
4726
查看次数

标签 统计

exception ×2

.net ×1

arguments ×1

c# ×1

constructor ×1

garbage-collection ×1

memory ×1

null ×1

ooad ×1

oop ×1