私は最初の 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 で理にかなっていますか?それとも、自分のアプリを別の方法で考える必要がありますか?