我正在尝试制作我的第一个 WP 应用程序,但我遇到了一些设计问题,因为我来自 Java,而且我不习惯 XAML 和类似的东西。
假设我有这样的结构:
PluginBase - 一个必须扩展的类来构建一个插件。
扩展基类的各种插件。每个插件都必须从不同的站点检索一些信息(例如 Instagram 插件、500px 插件等)。
PluginGraphics - 一个具有
PluginBase
属性并且必须使用它来显示检索到的数据的类。这意味着该类将具有类似于draw()
将在屏幕上(在 GUI 上)打印来自插件的信息的方法。
这是一些简短的伪代码
abstract class PluginBase{
string pluginName;
string apiURL;
abstract Image getImage();
}
class InstagramPlugin extends PluginBase{
public InstagramPlugin(){
pluginName = "Instagram";
apiURL = "http://...";
}
Image getImage(){
return new Image(apiURL + "/img.png");
}
}
class PluginGraphics(){
PluginBase plugin;
public PluginGraphics(PluginBase plugin){
this.plugin = plugin;
}
void draw(){
super.draw(plugin.getImage());
}
}
当我需要构建一个必须使用自定义代码的自定义 GUI 组件时,这就是我在 Java 中的做法。这很简单,我定义了代码,然后我创建了一个“GUI”类,它从组件中获取数据并显示它。
使用这种方法可以让我只关注图形部分,因为在PluginGraphics
创建类时,它会自行完成所有工作,而无需在每次图像更改时手动更新组件。(前提是getImage()
从站点中随机抽取一个。
因此,我可以使用 GUI 构建器,并将我的组件视为可以正常工作的“黑盒”,而不必知道它是如何工作的。
问题是:我怎样才能用 C#/XAML 做类似的事情?
这种规划在 C#/XAML 上是否真的有意义,还是我必须以不同的方式思考我的应用程序?