我的Android应用程序有一些屏幕具有一些配置,这些配置取决于特定参数,以确定将在屏幕上显示的内容,例如:显示或不显示某些字段,更改某些字段的屏幕位置,更改组件类型。我正在为每个组合使用视图助手模式,因为我不想在活动的视图助手上添加大量if条件。我试图创建一个视图助手工厂,根据配置,它返回根据我的需要配置活动的相应视图助手。但我有一些屏幕可能有超过10个配置。考虑到可能性的数量遵循2 pow n,n是配置的数量,在之前的sittuation中,我需要创建1024个视图助手 - 每个可能性一个,这显然不是一个好主意。另一方面,使用条件ifs,维护项目将非常困难。
我想就本案可以被认为是一种好的做法提出一些建议。如果可能的话,可以使用设计模式的例子来讨论这个问题。
谢谢!
答案 0 :(得分:0)
class MainApp
{
static void Main()
{
Manager mgr;
mgr = new Manager(new AboutPage());
mgr.Configure();
mgr = new Manager(new ProfilePage());
mgr.Configure();
}
}
abstract class BlogPage
{
public abstract void ShowHideElement();
}
class AboutPage : BlogPage
{
public override void ShowHideElement()
{
// Do some configuration here (hide / show element)
}
}
class ProfilePage : BlogPage
{
public override void ShowHideElement()
{
// Do some configuration here (hide / show element)
}
}
class Manager
{
private BlogPage _page;
public Manager(BlogPage page)
{
this._page = page;
}
public void Configure()
{
_page.ShowHideElement();
}
}
谢谢,