我的一项活动似乎已经增长了很多,我觉得事情应该以某种方式更加面向对象。我认为这是因为我只是在学习,因此不断添加不同的观点,看看有效的方法。在我知道它之前,它已经变得很大。
我有类似LinearLayout,ViewFlipper,Button,TextView等的子类,并且认为为这些类提供构造函数可以帮助解决问题,例如textize,字体,布局参数,背景颜色等等。更多的是针对OOP的常见设计范例。这样做当然意味着我的构造函数将有大量的参数。
我想知道我是否能对上述方法得到一些反馈:我是否应该使用我的子类来获得更多OOP设计,或者做一些活动自然会有很多代码?谢谢!
答案 0 :(得分:5)
我有类似LinearLayout,ViewFlipper,Button,TextView等的子类,并且认为为这些类提供构造函数可以帮助解决问题,例如textize,字体,布局参数,背景颜色等等。更多的是针对OOP的常见设计范例。
这不是个好主意。窗口小部件不是为扩展而设计的。此外,没有必要,因为您列出的所有内容都可以(并且应该)在XML布局资源中定义。
有些活动自然会有很多代码吗?
对于大量代码,某些活动负责。欢迎您将一些逻辑推出到其他类中,但它们不一定是小部件的子类。您的Adapters
,各种...Listeners
,AsyncTasks
,Loader.Callbacks
等可以经常被划分到单独的公共类中,而不是让您的活动实现多个接口或拥有一大堆内部阶级。