2

と呼ばれるオブジェクト指向言語のオブジェクトがあり、プロパティがあるManとします。この男性に挨拶する関数がある場合、引数として送信するか、単に送信する必要があります。たとえば、Pythonの場合:MannameMan.nameMan

def sayHello(Man):
    print 'hello! ' + Man.name

def sayHello2(name):
    print 'hello! ' + name

どちらがいいですか?なぜ?

4

1 に答える 1

1

関数に名前が必要で、Man の他のプロパティが必要ない場合は、名前を送信するだけです。その理由は結合を減らすためです (sayHello は Man のプロパティを知る必要はありません)。

関数が Man の 2 つ以上のプロパティを必要とする場合は、おそらくオブジェクトを渡す必要があります。プリンシパルは、Martin Fowler の著書Refactoring: Improving the Design of Existing Codeから「Preserve Whole Object」と呼ばれています。

于 2013-01-11T14:55:13.037 に答える