java - 适配器模式还是组合?
问题描述
我想以更清洁的方式使用来自 gitHub 的外部库
public class Sgtin { full of fields and methods including encode and decode }
在我的类解码器中,我只想从几个对象中实现的两个方法
public class Decoder {
private static final Sgtin sgtin = new Sgtin();
public static String encode(String ean, Long serialNumber, int filterValue) {
return sgtin.encode(ean, serialNumber, filterValue);
}
public static Sgtin decode(String cpe) {
return sgtin.decode(cpe);
}
}
我想在 mthod decode 中隐藏 Sgtin 类(如果我要对它进行任何修改,我不必更改原始类)所以为了做到这一点,我创建了一些其他对象(解码器)并将 Sgtin 映射到它?最好的方法是什么?
解决方案
您可以更改您的Decoder
类以实现单例模式。要么你在那里遗漏了一些代码,因为它实际上应该抛出一个 NPE,因为它sgtin
没有被初始化。
但是你的方法很好。
推荐阅读
- css - 在悬停 CSS 变换时防止闪烁
- python - 将“季节”列添加到 NFL 比赛数据框的理想方法?
- python - 四叉树上 Python 程序的内存使用情况
- c++ - 使用向量或其他方法来跟踪 C++ CLI 中的类对象
- python - 如何在seaborn中将LogLinear和Loglog曲线绘制到同一图上
- node.js - 使用顺序参数发出动态数量的请求
- html - 居中段落,同时有边距以创建空白空间
- python - 我可以将 Excel 中的现有图表翻译/复制到 Python 中吗?
- javascript - Vue无限加载与axios正在跳过第2页
- xamarin - 显示模式后无法更改选项卡式页面的选项卡