怎麽設計這個框架呢

sound02 2009-07-01 09:47:12
問題:
現在公司要 根據SAP中的數據 篩選 生成多種不同形式的財務報表.(如命名為SOG ,EXE等報表).
每种表篩選的方法是不同. [如 SOG 這種報表時根據 SAP中的一個字段{vkgrp}來進行篩選的.而EXE 這種財務報表時根據 Sap 中的三個字段來進行數據篩選的.]
篩選完數據后 處理數據生成報表.
然後給有報表接收權限人發送郵件.
另: 每种報表都要生成一份縂的報表 發給具有縂報表接收權限的人.
如 SOG 如果 vkgrp 有009 020 ,030 那么就要生成 4份 報表
Sog-all
Sog-009
Sog-020
Sog-030

而對于有多少种vkgrp 我是未知的.
要怎樣設計,使得它有很好的擴展性.因爲後面可能會有其他形式的報表.

以下是我設置的類
public abstract class Report
{
abstract public Email GetEmail();
abstract public ReportStruct GetReportStruct();
abstract public void GenerateExcelReport();
}

public class OstdSOGAll:Report
{

public OstdSOGAll()
{
}
public override Email GetEmail()
{

Email email = new Email();
return email;
}
public override ReportStruct GetReportStruct()
{
ReportStruct reportSt = new ReportStruct();
return reportSt;

}
public override void GenerateExcelReport()
{
Console.WriteLine("My Lover IS your!");
}
}

public class OstdSOGSpe:Report
{
private string sogkey;
public string SOGKEY
{
get
{
return sogkey;
}
set
{
sogkey = value;
}
}
public OstdSOGSpe()
{
}
public override Email GetEmail()
{

Email email = new Email();
return email;
}
public override ReportStruct GetReportStruct()
{
ReportStruct reportSt = new ReportStruct();
return reportSt;

}
public override void GenerateExcelReport()
{
Console.WriteLine("My Lover IS her!");
}
}

...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sound02 2009-07-07
  • 打赏
  • 举报
回复
終于有人頂了
mb_1985 2009-07-04
  • 打赏
  • 举报
回复
楼上老大给点经验吧~一直关注楼上这位高人中
  • 打赏
  • 举报
回复
把手头的做好就可以了,当你考虑抽象的时候要有一个尺度,例如不要把4个礼拜之后才可能开始着手做的报表考虑进来。

你要精通重构技术,并且精通测试技术。那些不精通这些技术的人,希望靠一开始把什么架构都设计得很“完美”,但这在很多时候其实是痴心妄想的。那中追求完美架构(但是又拿不出非常复杂和清晰的架构设计)的做法,在csdn论坛,或者那些经验比较少的团队里,很多。精通重构技术可以培养你仅凭感觉就写出很好的架构,而不是靠理论分析。
MadWork 2009-07-04
  • 打赏
  • 举报
回复
用工厂模式

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧