iphone:这是一个正确的设计:2个视图与1类?

时间:2010-10-07 21:14:14

标签: iphone objective-c oop

我是一位来自flash内容的新iphone开发者。

让我告诉你我的问题: 我正在做一个益智游戏,并有一个带有4个标签的标签栏控制器。 我使用1个标签进行注册,其他用于登录,它们的工作方式不同,但使用了大量相同的代码(显示图像,播放声音,设置内容,音频内容,动画内容等)。

关键是2个视图具有几乎相同的ui元素,即它们之间的差异是2个标签。

当我使用flash时很容易,我重复使用了这些元素: 如果我在登录窗口,我只是隐藏了2个额外的注册标签。 1级控制一切。它既简单又快捷。

这里我创建了2个视图:注册和登录(每个视图一个)
1类:“SingUpLoginViewController.m”控制所有内容(请注意:1个类,但有2个实例)

问题
它有效,但我担心的是它是否是正确的设计? 另一种方法是在“SingUpViewController.m”和“LoginViewController.m”中分离“SingUpLoginViewController.m”。
和其他方式可以共享同一个实例。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

没错。做这样的事情甚至可以避免代码重复。

另一种方法是创建一个基类,该基类实现两个视图共有的逻辑,然后创建两个子类,每个视图一个子类,实现区别于另一个视图的东西。

两种方式都很好。从理论的角度来看,基类方式可能更“干净”,但如果差异不是很大,那么实用的一类两种观点也不错。