>>172
1と3のような要件の時にはcalculatePay持たすべきじゃないかもしれないけど、
「社員の給与は社員の役職によってのみ決まる」という場合には社員に持たせてもいいと思うんだけど、どう?

また、2の考えを押し進めると以下の(A)を(B)のようにするべきという話になると思うんだけど、こんなクラス、ちょっとありえないよね。
なので2の考え方は間違ってると考えます。

=== A ===
class Stack
 def push( o )
  ...
 def pop
  ...
end
=== B ===
class StackData
 ...
end

class StackPush
 def push( stack_data, o )
  ...
end

class StackPop
 def pop( stack_data )
 ...
end