本帖最后由 66767376 于 2016-9-6 11:13 编辑
FastFrameWork 快速开发框架是一款基于敏捷并行开发思想和Microsoft .Net构件(插件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的。
FastFrameWork 快速开发框架是适用于小型软件的一套快速开发解决方案。基于DevExpress16.1 开发,采用Ribbon UI设计风格,插件式扩展模块,配合Agile.Net数据访问组件与Agile.Net数据报表组件,能够快速的进行小型软件产品开发。
去年在论坛里发表过我开发的一个项目(DevExpress winform ERP 作品),但并没有提供源代码,最近我把框架部分整理了一下开源出来,希望能帮助到新手学习快速开发技术,也希望能起到抛砖引玉的作用。
首先展示一下运行界面:
.
项目代码结构:
下面我们介绍一下开发案例:
1.主界面设计
2.插件窗体设计
3.技术原理
主界面采用Ribbon风格,通过配置将依赖注入的插件载入框架中,并将插件窗体载入到框架容器窗体MDI区,合并插件窗体的RibbonPage与RibbonControl到框架容器窗体。
[C#] 纯文本查看 复制代码 private void ribbon_Merge(object sender, DevExpress.XtraBars.Ribbon.RibbonMergeEventArgs e)
{
RibbonControl parentRRibbon = sender as RibbonControl;
RibbonControl childRibbon = e.MergedChild;
parentRRibbon.StatusBar.MergeStatusBar(childRibbon.StatusBar);
}
private void ribbon_UnMerge(object sender, RibbonMergeEventArgs e)
{
RibbonControl parentRRibbon = sender as RibbonControl;
parentRRibbon.StatusBar.UnMergeStatusBar();
}
4.配置文件
appSettings为插件配置项,Key=子窗体RibbonPage名称,Value=插件全名,插件命名空间。每个插件可以包含多个窗体,每个窗体可以包含多个RibbonPage。[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--插件配置,key=标签卡名,value=插件全名,命名空间-->
<appSettings>
<add key="MDI窗体1" value="Plugin.User.ChildForm1,Plugin.User"/>
<add key="MDI窗体2-1" value="Plugin.Dept.ChildForm2,Plugin.Dept"/>
<add key="MDI窗体2-2" value="Plugin.Dept.ChildForm2,Plugin.Dept"/>
</appSettings>
<!--数据库连接-->
<connectionStrings>
<add name="Default" providerName="Sqlite" connectionString="Data Source=|DataDirectory|Data.db;Version=3;"/>
<!--add name="Default" providerName="SqlServer" connectionString="Data Source=localHost;Initial Catalog=Agile;Integrated Security=SSPI;"/-->
</connectionStrings>
</configuration>
5.数据访问类库的示例
[C#] 纯文本查看 复制代码 public class Business
{
public static DataTable GetAllGrade()
{
Agile.DataAccess.DataContext context = new Agile.DataAccess.DataContext();
//方式1
//DataTable grades = context.Select<DataTable>("ID,Class,Level").From("Grade").QuerySingle();
//方式2
DataTable grades = context.Script("Select ID,Class,Level From Grade").QuerySingle<DataTable>();
return grades;
}
public static List<Student> GetAllStudent()
{
Agile.DataAccess.DataContext context = new Agile.DataAccess.DataContext();
return context.Script("Select ID,Name,Age From Student").QueryMany<Student>();
}
}
6.报表组件类库的示例
[C#] 纯文本查看 复制代码 ReportEx report = new ReportEx();
report.AddDataSource(Business.GetAllGrade());
report.AddDataSource(Business.GetAllStudent(), "Student");
report.AddParameter("参数1", "FastFrameWork 快速开发框架");
report.AddParameter("参数2", DateTime.Now);
report.LoadFrom(Path.Combine(Application.StartupPath, "Report", "test.frx"));
report.Print();
结语
好了,通过以上简单的介绍后相信你对FastFrameWork 快速开发框架已经有一些认识了,如果你想对FastFrameWork 快速开发框架深入了解请下载源代码体验吧。
下载地址:
|