首页 / 设计模式 / java-不同领域的设计模式
java-不同领域的设计模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-不同领域的设计模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1376字,纯文字阅读大概需要2分钟。
内容图文
![java-不同领域的设计模式](/upload/InfoBanner/zyjiaocheng/674/6949cc33075e4dbc8406148435cbcbe0.jpg)
我正在编写一个目录解析器实用程序,该实用程序将扫描不同目录以查找不同类型的文件.
现在,一个简单的实现促使我执行以下操作.
拥有要解析的目录列表,将其循环,然后将其传递给实际执行文件I / O和其他逻辑并返回结果的方法.
List<Dir> dirList;
//loop over the list and call parseDirecotry()
parseDirectory(Dir dirToParse){
//do file io
if (filename.matches("pattern"){
//proceed)
}
}
扫描的每个目录都需要我过滤掉某些文件.所以现在
对于具体目录,匹配模式将有所不同,现在我可以继续根据目录类型在其他逻辑中添加匹配模式.
要么
我可以将模式做成Dir对象的一部分,使其抽象,让特定的目录实现拥有特定的匹配模式.
这样,我不必每次扫描新目录时都需要触摸parseDirectory方法.
问题是:这里是否可以利用某些设计模式?您对上述程序的接口方式有何看法,您是否也认为将parseDirectory()方法移至抽象目录类是否有意义?
解决方法:
好吧,我会提出我的解决方案
1)创建一个名为IFileProcessor的接口,该接口具有processFile方法
2)创建特定于实现IFileProcessor的文档类型的单例类.因此,这些类将是DocFileProcessor,XLSFileProcessor等,并且每个类将具有自己的processFile API特定实现.
3)创建一个工厂类,例如FileProcessorFactory.它应该具有一个称为IFileProcessor getFileProcessor(String fileTypeExtension)的API.该API将以文件扩展名作为输入,并返回DocFileProcessor,XLSFileProcessor等输入doc,xls等.
4)在循环调用中,FileProcessorFactory的getFileProcessor为其提供输入.现在,在返回的实例上调用processFile.
具有这种设计可以将if-else的逻辑与Factor分离,从而使您的逻辑与文件类型无关.
内容总结
以上是互联网集市为您收集整理的java-不同领域的设计模式全部内容,希望文章能够帮你解决java-不同领域的设计模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。