小菜鸟一步步打造图书馆外挂之十一:IDoWork接口的各种实现
2009-03-17 17:59
337 查看
根据流程图可以看到当程序启动时再根据网络连接状况可能有四种方式来实现IDoWork:
(一)当程序自动启动而网络连接正常时要做的工作是读取数据发送到警戒框,保存到本地XML文件,用HttpSendToWarningUI类去实现抽象类的SendBookList方法,实现把图书信息发到警戒框
(二)当程序手动启动而网络连接正常时要做的工作是读取数据更新用户编辑界面,保存到本地XML文件,用HttpSendToEditUI去实现抽象类的SendBookList方法,把读取下来的数据去更新用户编辑界面的数据
(三)当自动启动程序而网络连接不正常时要做的工作是读取本地的数据发送给用户,我们用GetBookFromXMl类去实现IDoWork接口
(四)当手动启动程序而网络连接不正常时什么事也不做,我们用DoNothing类去实现IDoWork接口,什么事也没有做,只返回一个真值
创建DoWork工程,添加相应的引用。
HttpSendToWarningUI类的实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using LibraryHelper.SendWarningBook;
using LibraryHelper.HttpService;
namespace LibraryHelper.DoWork
{
public class HttpSendToWarningUI:AbsHttp
{
protected override void SendBookList()
{
WarningBookService warningBookService = new WarningBookService(bookList);
warningBookService.SendWarningBook();
}
}
}
HttpSendToEditUI类实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using LibraryHelper.EditUI;
using LibraryHelper.HttpService;
namespace LibraryHelper.DoWork
{
public class HttpSendToEditUI:AbsHttp
{
protected override void SendBookList()
{
frmLiraryEdit frmEdit = frmLiraryEdit.GetSinglefrmEdit();
frmEdit.DataBindBook(bookList);
}
}
}
GetBookFromXMl类实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using LibraryHelper.IDoWork;
using LibraryHelper.DALService;
using LibraryHelper.SendWarningBook;
using LibraryHelper.Model;
namespace LibraryHelper.DoWork
{
public class GetBookFromXMl : ILibraryHelperDoWork
{
public Boolean DoWork()
{
BookXMLService bookXMLService = new BookXMLService();
List<Book> bookList = bookXMLService.GetBookList();
WarningBookService warningBookService = new WarningBookService(bookList);
Boolean isRun = warningBookService.SendWarningBook();
return isRun;
}
}
}
DoNothing类实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using LibraryHelper.IDoWork;
namespace LibraryHelper.DoWork
{
public class DoNothing : ILibraryHelperDoWork
{
public Boolean DoWork()
{
//空方法,什么也不做
return false;
}
}
}
(一)当程序自动启动而网络连接正常时要做的工作是读取数据发送到警戒框,保存到本地XML文件,用HttpSendToWarningUI类去实现抽象类的SendBookList方法,实现把图书信息发到警戒框
(二)当程序手动启动而网络连接正常时要做的工作是读取数据更新用户编辑界面,保存到本地XML文件,用HttpSendToEditUI去实现抽象类的SendBookList方法,把读取下来的数据去更新用户编辑界面的数据
(三)当自动启动程序而网络连接不正常时要做的工作是读取本地的数据发送给用户,我们用GetBookFromXMl类去实现IDoWork接口
(四)当手动启动程序而网络连接不正常时什么事也不做,我们用DoNothing类去实现IDoWork接口,什么事也没有做,只返回一个真值
创建DoWork工程,添加相应的引用。
HttpSendToWarningUI类的实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using LibraryHelper.SendWarningBook;
using LibraryHelper.HttpService;
namespace LibraryHelper.DoWork
{
public class HttpSendToWarningUI:AbsHttp
{
protected override void SendBookList()
{
WarningBookService warningBookService = new WarningBookService(bookList);
warningBookService.SendWarningBook();
}
}
}
HttpSendToEditUI类实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using LibraryHelper.EditUI;
using LibraryHelper.HttpService;
namespace LibraryHelper.DoWork
{
public class HttpSendToEditUI:AbsHttp
{
protected override void SendBookList()
{
frmLiraryEdit frmEdit = frmLiraryEdit.GetSinglefrmEdit();
frmEdit.DataBindBook(bookList);
}
}
}
GetBookFromXMl类实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using LibraryHelper.IDoWork;
using LibraryHelper.DALService;
using LibraryHelper.SendWarningBook;
using LibraryHelper.Model;
namespace LibraryHelper.DoWork
{
public class GetBookFromXMl : ILibraryHelperDoWork
{
public Boolean DoWork()
{
BookXMLService bookXMLService = new BookXMLService();
List<Book> bookList = bookXMLService.GetBookList();
WarningBookService warningBookService = new WarningBookService(bookList);
Boolean isRun = warningBookService.SendWarningBook();
return isRun;
}
}
}
DoNothing类实现如下:
using System;
using System.Collections.Generic;
using System.Text;
using LibraryHelper.IDoWork;
namespace LibraryHelper.DoWork
{
public class DoNothing : ILibraryHelperDoWork
{
public Boolean DoWork()
{
//空方法,什么也不做
return false;
}
}
}
相关文章推荐
- 小菜鸟一步步打造图书馆外挂之七:DoWork接口的设计
- 小菜鸟一步步打造图书馆外挂之十五:自动启动入口的实现
- 小菜鸟一步步打造图书馆外挂之十二:宽带连接的实现
- 小菜鸟一步步打造图书馆外挂之十三:用户编辑界面的实现
- 小菜鸟一步步打造图书馆外挂之十四:GetDoWorkFactory工厂的实现
- 小菜鸟一步步打造图书馆外挂之十六:手动启动入口的实现
- 小菜鸟一步步打造图书馆外挂之一:需求功能说明
- 小菜鸟一步步打造图书馆外挂之四:数据访问(一)
- 小菜鸟一步步打造图书馆外挂之八:与图书馆网站交互HttpService
- 小菜鸟一步步打造图书馆外挂之二:系统架构和类库的设计(一)
- 小菜鸟一步步打造图书馆外挂之十七:程序安装制作
- 小菜鸟一步步打造图书馆外挂 索引
- 小菜鸟一步步打造图书馆外挂之六:数据访问服务工程
- 小菜鸟一步步打造图书馆外挂之三:系统架构和类库的设计(二)
- 小菜鸟一步步打造图书馆外挂之五:数据访问之单元测试(二)
- 小菜鸟一步步打造图书馆外挂之十:提取出进入警戒范围的图书
- IWorkloadStorable接口的实现
- 使用JavaScript代码实现各种数据控件的反选功能 不要只做拖控件的菜鸟
- Java设计模式菜鸟系列(十一)迭代器模式建模与实现
- 菜鸟张小花之各种布局方式实现