Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 用于在控制器之间共享功能的模式_Iphone_Design Patterns - Fatal编程技术网

Iphone 用于在控制器之间共享功能的模式

Iphone 用于在控制器之间共享功能的模式,iphone,design-patterns,Iphone,Design Patterns,我正在编写一个iPhone应用程序,我发现应用程序中有三个控制器具有非常相似的功能。它们非常相似,将它们分为三个独立的类是没有意义的,因此我有一个“mode”属性,该类的客户端使用该属性来指定控制器在某些情况下的行为。但同样,可能95%的功能是相同的。有三种不同的模式,在行为上只有细微的差异 我觉得这很乱。有更好的模式吗?您可以尝试继承。。。这三个控制器都可以从实现共享功能的公共基础继承 除此之外,你还可以看看 您使用哪一个取决于您的代码在做什么以及更改的位是什么样子的:-)类似的方法将涉及不使

我正在编写一个iPhone应用程序,我发现应用程序中有三个控制器具有非常相似的功能。它们非常相似,将它们分为三个独立的类是没有意义的,因此我有一个“mode”属性,该类的客户端使用该属性来指定控制器在某些情况下的行为。但同样,可能95%的功能是相同的。有三种不同的模式,在行为上只有细微的差异


我觉得这很乱。有更好的模式吗?

您可以尝试继承。。。这三个控制器都可以从实现共享功能的公共基础继承

除此之外,你还可以看看


您使用哪一个取决于您的代码在做什么以及更改的位是什么样子的:-)

类似的方法将涉及不使用继承(即:对三个屏幕使用相同的控制器)并使用定义每个屏幕的特定行为

谢谢-战略是我想要的。