什么时候建议使用OO Perl而不是非OO Perl?
我倾向于总是喜欢OO,除非项目只是<的代码片段. 10行. TIA
解决方法
10 criteria for knowing when to use object-oriented design
@H_301_15@
Design is large,or is likely to become large
@H_301_15@When data is aggregated into obvIoUs structures,especially if there’s a lot of data in each aggregate
For instance,an IP address is not a good candidate: There’s only 4 bytes of information related to an IP address. An immigrant going through customs has a lot of data related to him,such as name,country of origin,luggage carried,destination,etc.
@H_301_15@When types of data form a natural hierarchy that lets us use inheritance.
Inheritance is one of the most powerful feature of OO,and the ability to use it is a flag.
@H_301_15@When operations on data varies on data type
GIFs and JPGs might have their cropping done differently,even though they’re both graphics.
@H_301_15@When it’s likely you’ll have to add data types later
OO gives you the room to expand in the future.
@H_301_15@When interactions between data is best shown by operators
Some relations are best shown by using operators,which can be overloaded.
@H_301_15@When implementation of components is likely to change,especially in the same program
@H_301_15@When the system design is already object-oriented
@H_301_15@When huge numbers of clients use your code
If your code will be distributed to others who will use it,a standard interface will make maintenence and safety easier.
@H_301_15@When you have a piece of data on which many different operations are applied
Graphics images,for instance,might be blurred,cropped,rotated,and adjusted.
@H_301_15@When the kinds of operations have standard names (check,process,etc)
Objects allow you to have a
DB::check
,ISBN::check
,Shape::check
,etc without having conflicts between the types of check.