这被认为是OOP的一个好习惯吗?

时间:2012-08-20 05:25:17

标签: oop methods

我正在努力学习OOP方法的最佳实践。所以我想说我有这个代码(顺便说一下C#):

class Player
{
    private Connection conn;
    public Update(Keyboard key)
    {
        if(key.IsPressedKey("a"))
        {
            // should move
            conn.SendPacketMovement(Movement.Left);
        }
    }
}

如果我想调用Connection类实例中的方法,我该怎么办?我不想为Update方法添加返回值,因为它似乎不是一个非常好的做法。

在这种情况下,当我想要几个课程做不同的事情时,我该怎么办?我应该使用代表和活动吗?如果是这样,我如何订阅它们。我应该在创建Player实例时订阅它们吗?

1 个答案:

答案 0 :(得分:1)

最后,总是在另一个方法的范围内调用方法。然而,授权确实是一种很好的做法。例如,如果您的类行为可能由不同的委托以不同方式实现,您可以应用责任链模式来减少耦合http://en.wikipedia.org/wiki/Chain-of-responsibility_pattern