研磨设计模式之 工厂方法模式-1 做 Java 一晃就十年了,最近手痒痒,也决定跟随一下潮流,整个博客,写点东西,就算对自己的知识进行一个梳理和总结,也跟朋友们沟通沟通,希望能坚持下去。 先写写设计模式方面的内容吧,就是 GoF 的 23 个模式,先从大家最熟悉的工厂方法模式开始,这个最简单,明白的人多,看看是否能写出点跟别人不一样的东西,欢送大家来热烈讨论,提出建议或意见,并进行批判指正,一概虚心接受,在此先谢过了! 另外,大家也可以说说最想看到哪个模式,那我就先写它,呵呵,大家感兴趣,我才会有动力写下去!好了,言归正传,Now Go!工厂方法模式〔Factory Method〕1 场景问题1.1 导出数据的应用框架 考虑这样一个实际应用:实现一个导出数据的应用框架,来让客户选择数据的导出方式,并真正执行数据导出。 在一些实际的企业应用中,一个公司的系统往往分散在很多个不同的地方运行,比方各个分公司或者是门市点,公司没有建立全公司专网的实力,但是又不同意让业务数据实时的在广域网上传递,一个是考虑数据平安的问题,一个是运行速度的问题。 这种系统通常会有一个折中的方案,那就是各个分公司内运行系统的时候是独立的,是在自己分公司的局域网内运行。然后在每天业务结束的时候,各个分公司会导出自己的业务数据,然后把业务数据打包通过网络传送给总公司,或是专人把数据送到总公司,然后由总公司进行数据导入和核算。 通常这种系统,在导出数据上,会有一些约定的方式,比方导出成:文本格式、数据库备份形式、Excel 格式、Xml 格式等等。 现在就来考虑实现这样一个应用框架。在继续之前,先来了解一些关于框架的知识。1.2 框架的根底知识(1):框架是什么 简单点说:框架就是能完成一定功能的半成品软件。 就其本质而言,框架是一个软件,而且是一个半成品的软件。所谓半成品,就是还不能完全实现用户需要的功能,框架只是实现用户需要的功能的一局部,还需要进一步加工,才能成为一个满足用户需要的、完整的软件。因此框架级的软件,它的主要客户是开发人员,而不是最终用户。 有些朋友会想,既然框架只是个半成品,那何必要去学习和使用框架呢?学习本钱也不算小,那就是因为框架能完成一定的功能,也就是这“框架已经完成的一定的功能〞在吸引着开发人员,让大家投入去学习和使用框架。(2):框架能干什么 能完成一定功能,加快应用开发进度 由于框架完成了一定的功能,而且通常是一些根底的...