Адаптер рисунка или композиция? - PullRequest
0 голосов
/ 06 июля 2018

Я хочу использовать внешнюю библиотеку из gitHub более чистым способом

public class Sgtin { full of fields and methods including encode and decode }

в моем классе Decoder я хотел бы иметь только 2 метода из нескольких, реализованных в объекте

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);
}

}

Я хотел бы спрятать класс Sgtin в декодировании mthod (в случае, если я буду вносить в него какие-либо изменения, мне не нужно будет изменять исходный класс), поэтому, чтобы сделать это, я создаю некоторый другой объект (декодер) и сопоставить сгтину с этим? Каков наилучший способ сделать это?

1 Ответ

0 голосов
/ 06 июля 2018

Вы можете изменить свой класс Decoder для реализации шаблона Singleton. Либо вы пропускаете какой-то код, потому что он на самом деле должен выбросить NPE, так как sgtin не инициализирован.

Но ваш подход в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...