私はいつも他人を知るべきだと混乱します。他人について誰が知っておくべきですか?
例えば:
Circle.Draw(&canvas)
又はCanvas.Draw(&circle)
又はDraw(&canvas, &circle)
EmployeeVector.Save(&file)
又はFile.Save(&employee_vector)
あるいは静止
void operator() (Employee e) { Save(e.Serialize();}
for_each(employees.begin(), employees.end(),File)
私はすべての種類のアダプタを持っているので、誰も知っていることがないように、あまりにも多く抽象化してしまうと思います。
キャンバスを変更するとどうなりますか?単にキャンバスコードではなくサークルコードを変更する必要があります。 –
は、キャンバスの抽象化で作業するかどうかによって異なります –
@Joeとにかくコードを変更する必要があります。キャンバスを変更した場合は、 'Canvas'のメソッド群を変更するか、各シェイプクラスのメソッドを変更する必要があります。いずれにしても、 'Circle'クラスのサークルに関連するコードを変更する方が、' Canvas'クラスで行うよりも意味があります。また、なぜキャンバスが変わるのでしょうか?そのインターフェイスはおそらく、発信者を壊すのを避けるために変更を維持する必要があります。 –