面向对象设计问题

Dew*_*yne 1 design-patterns

当你注意到一个应用程序有很多类,但是这些类不是真正的可对等对象而是一组常用函数时,你会怎么做?

例:

Class Point 
{ 
 calculatePoints(something) {} 
 calculatePointsAnotherWay(something) {} 
}
Run Code Online (Sandbox Code Playgroud)

joe*_*ely 11

我将查看函数以了解它们如何使用可实例化的对象.如果一个功能:

  • 将用户定义类型的对象作为参数,
  • 从该对象中提取数据,以及
  • 基于对提取的数据的计算产生结果,

那么该函数是成为其参数类的方法的候选者.这种编码有时是一个线索,创建原始类型的程序员或编写"外部"函数(或两者)的程序员可能仍然在考虑命令/程序风格,而不是OO风格.