在我看来,它归结为类实例化部分代码的易用性。 如果你有14个参数,你可以全部设置或全部跳过,那么这可能是最好的解决方案。
var defaultRectangle:Rectangle = new Rectangle(); //square of 1 x 1)
var customRectangle:Rectangle = new Rectangle(0,0, 2,0 2,2, 0,2);
但是,如果一些14个参数是可选的,它成为一个有点难以阅读,那么我认为无论使用单独的吸气剂/ setter方法是更可读的,或者一个paramater对象(模仿命名参数)
//which parameter means what?
var girlfriend:Girl = new Girl("Blue", 0, 0, "", "", 1.8, 0, "", 140);
//named parameters
var girlfriend:Girl = new Girl({eyeColor: "Blue", height:1.8, iq:140});
//setters
var girlfriend:Girl = new Girl();
girlfriend.eyeColor = "Blue";
girlfriend.height = 1.8;
girlfriend.iq = 140;
我个人尽量使用模型时,使用“视图” 所以,如果你的对象是一个精灵,因此一个视图。也许最好的办法可能是:
var friend:Person = new Person({name: "Ford Prefect"});
var profileView:ProfileView = new ProfileView(friend);
addChild(profileView);
来源
2010-11-11 09:46:18
Les
你*通常*或平均需要多少这些参数?当它不是你在对象构建时需要的信息时,你应该对你真正需要的属性分别进行调用。 – poke 2010-11-11 08:31:14
好吧,我只需要第一个。其余参数基本上是对象的风格。当我第一次开始上课的时候,尽管允许班级的用户使用所有不同的风格设置来构建一个好主意,但是现在我认为这已经不再理想,因为签名太长了。 – TheDarkIn1978 2010-11-11 09:47:39
这是一个很好的问题,我发现有多层次的继承有一种方法来增加提供给构造函数的参数。我讨厌它,但对我来说没有明显的解决方案。我希望有人可能列出了一个设计模式来帮助。 – Allan 2010-11-11 12:56:41