【问题标题】:When to use methods and objects [closed]何时使用方法和对象[关闭]
【发布时间】:2011-07-23 06:54:02
【问题描述】:

这可能是重复的,但因为我没有看到任何希望它不是的东西。基本上,我从来没有见过一个好的经验法则,用于将一块代码拆分为单独的方法和对象。有没有人有任何他们认为行之有效的好规则?

【问题讨论】:

    标签: oop object methods


    【解决方案1】:

    经验法则是这样的:

    问:我应该把它分成方法和对象吗?

    答:是的。

    【讨论】:

    • 虽然正确,但我希望多一点:P
    • 完全正确!如果你不得不问,答案是肯定的。
    【解决方案2】:

    从 OO 的角度来看,所有代码都应该写成对象和方法。 OOP 的货币是objects。现在,如果你有一个很大的类并且想知道如何分解它,因为它违反了单一职责,经验法则是封装变化的内容。

    【讨论】:

      【解决方案3】:

      如果方法不适合页面,则它太大了。 :-)

      这不是使用非常小的字体或使用非常大的显示器的借口

      去阅读;

      虽然他们谈论如何处理你已经拥有的东西,但如果你阅读它们并从中学习,你可以避免一开始就创建滞后代码!

      【讨论】:

        【解决方案4】:

        我发现this article(butunclebob.com,S.O.L.I.D. 面向 OOP 的原则)对于设计类的边界和层次结构很有启发性。尽管这主要是常识,但在您通过体验对设计的“好”感觉之前,为您想要实现的目标命名会有所帮助。

        【讨论】:

        • 这些就是我要找的;一套简单的指导方针。谢谢!
        【解决方案5】:

        免责声明:我不反对 OOP,恰恰相反。以下仅代表个人意见

        总的来说,我同意其他答案,并且每当我“觉得”有必要时,我也会尝试将代码分解为方法。

        尽管如此,OOP 是一种方法,如果您想调用它,则是一种工具。虽然采用 OOP 技术非常强大,但在某些情况下,其他方法更适合。

        一个简单的

        echo "Hello World!"
        

        可能比

        更快/更好/更容易
        class HelloWorld {
        
            private String text = null;
        
            public HelloWorld() {
                this.text = "Hello World";
            }
        
            public void print() {
                echo this.text;
            }
        
        }
        

        (比较夸张的例子hello world in pattern

        【讨论】:

          【解决方案6】:

          一个类应该被设计成有一个主要目的。 IE。保持类简单明了。

          在决定方法时,您应该牢记两件事。专注于类的清晰接口,并创建可测试的方法。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-05-03
            • 2012-06-02
            • 1970-01-01
            相关资源
            最近更新 更多