1. 为什么需要样式工厂?
第一次接手企业报表系统开发时,我被Excel样式代码折磨得够呛。财务部门要红色加粗字体配灰色底纹,销售部门要蓝色边框加居中对齐,每个业务线的需求都不同。最头疼的是,当老板突然要求所有报表统一调整字体时,我不得不翻遍几十个Excel导出类逐个修改。
这时候才明白,直接硬编码样式属性有多糟糕:
- 样式代码散落在各个业务模块
- 相同样式重复定义导致代码臃肿
- 修改成本随业务增长指数级上升
后来我用工厂模式重构了样式系统,把字体、边框等配置抽离成可复用的组件。现在要调整全局样式,只需修改一处配置,所有报表自动更新。这种模块化设计让我们的报表开发效率提升了60%以上。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心设计:样式模型与处理器
2.1 StyleModel:样式的灵魂容器
StyleModel是整个系统的中枢神经,我用建造者模式设计了它的结构:
java复制public class StyleModel {
private FontModel fontModel; // 字体配置
private CellShadingModel shadingModel; // 底纹配置
private Map<BorderSideEnum, BorderModel> borders; // 边框配置
private HorizontalAlignment alignment; // 对齐方式
private boolean wrapText; // 自动换行
private short rotation; // 文字旋转角度
private String dataFormat; // 数据格式
private boolean shrinkToFit; // 自动收缩
// 建造者模式省略...
}
实际使用时,可以像搭积木一样组合样式:
java复制// 财务专用样式
StyleModel financeStyle = StyleModel.builder()
.font(FontModel.builder().name("楷体
