我很好奇在以下实现中使用的最佳设计模式是什么:我正在创建一个小应用程序来从网站下载图像并将其设置为我的背景。
我想与网站交互以下载 XMLBackground.xml
文件并下载Background.bmp
托管在此远程服务器上的另一个文件 ( )。该文件是位图,XML 是有关位图的元数据。下载文件后,我想将其设置为我的背景。我想将文件下载代码与后台设置代码分开,但我不确定我会使用哪种设计模式。
这似乎是一个典型的表示/数据/业务应用程序,其中表单是表示层,后台设置器/XML 解析器是业务层,下载器是数据层。但是我不确定我将使用哪种设计模式来进行实际的数据访问,因为它来自网站而不是数据库(因此 DAO 可能不适合这个)。我还在Wikipedia上购买了设计模式,但似乎没有什么是正确的。这是我可以使用 MVC 的东西吗?
数据层
public class DataLayer {
public void DownloadFile() {
// download the file from http
}
public void GetXmlMetaData() { }
}
业务层
public class BusinessLayer {
private static BusinessLayer m_instance = new BusinessLayer();
public static Instance BusinessLayer { get { return m_instance; }
private BusinessLayer() { }
public void SetNewWallpaper() {
// download the file from data layer
// set it as the background
}
public String GetWallpaperInfo() { return String.Empty; }
}
表示层
public class PresentationLayer {
public void HandleButtonClick(Object sender, EventArgs e) {
BusinessLayer.Instance.SetNewWallpaper();
}
}
如何将数据访问部分与后台设置逻辑分开?