【发布时间】:2011-08-03 15:46:36
【问题描述】:
虽然我讨厌在这个问题上把马打死(我已经阅读了关于这个的各种文章),但是我想在我创建我的“自己的约定”之前获得更多关于这个问题的意见,以便从现在开始使用在 Objective-C 中编码时开启。
我想弄清楚的约定最终是如何(使用生产级代码的最佳编码实践)在类中使用私有方法。来自 C# 的背景,当我编写类时,通常会有一段代码在多个公共方法中重复(例如错误检查或 WCF 服务连接设置)。我通常会创建这段代码的一个块并将其放在一个私有方法中,以便只有这些公共方法可以访问。这样,如果我需要进行更改,我只需要在一个地方进行,而不是在一个班级中 10 个不同的地方进行,但是永远不会让用户能够调用这个私有方法。例如:
public Class A
{
public void method1()
{
doErrorChecking()
// Do more stuff
}
public void method2()
{
doErrorChecking()
// Do more stuff
}
private doErrorChecking() { //Error Checking Code}
}
我知道在 Objective-C 中没有真正的方法可以真正将最后一个方法设为私有,但我真的想确保当我在 Objective-C 中为 iOS 开发创建所有未来的类时,我会遵循最好的方法实践可用,因此将来不需要在此问题上进行代码重构(希望如此)。我注意到人们在谈论类别,其他人只是不将方法放在@interface 文件中,而其他人则使用扩展方法。目前我只是将方法实现放在@implementation 文件中,而不是接口文件中。我还让“想要的”私有方法有一个非常独特的名称,这样子类化或覆盖方法就不是问题了。这是我应该遵循的路径吗?或者对于这些特定场景有没有更好的方法来做到这一点?
【问题讨论】:
标签: c# objective-c private-members