черты Java или mixins шаблон?

Как я понимаю, вам нужно отфильтровать myArr с массивом condition_id в качестве идентификаторов.

Тогда вы можете просто написать

myArr.filter(item=>item.performed === 1 && conditon_id.indexOf(item.id) !== -1)
15
задан joshjdevl 4 November 2008 в 19:36
поделиться

4 ответа

Я инкапсулировал бы всю бизнес-логику в новый класс BusinessLogic и имел бы каждый класс, которому нужно BusinessLogic, выполняют вызовы к классу. При необходимости в единственной внедренной иерархии для классов, которые выполняют вызовы к BusinessLogic, необходимо ли будет создать интерфейс также (BusinessLogicInterface?)

В псевдокоде:

interface BusinessLogicInterace
{
    void method1();
    void method2();
}

class BusinessLogic implements BusinessLogicInterface
{
    void method1() { ... }
    void method2() { ... }
}

class User 
    extends OtherClass 
    implements BusinessLogicInterface
{
    BusinessLogic logic = new BusinessLogic();

    @Override
    void method1() { logic.method1(); }

    @Override
    void method2() { logic.method2(); }
}

Это не самая симпатичная реализация для работы вокруг отсутствия множественного наследования, и это становится довольно громоздким, когда интерфейс имеет много методов. Скорее всего, Вы захотите попытаться перепроектировать свой код, чтобы не нуждаться в mixins.

12
ответ дан 1 December 2019 в 00:50
поделиться

Объектный пурист шевелится в Вас сегодня?

Думают, что Вы могли сделать с немного , составной объект ориентировал программирование?

Затем Вы, сэр, ищете Полиген Apache (раньше Qi4J или Интерес) ;)

4
ответ дан 1 December 2019 в 00:50
поделиться

Не путь Вы хотите сделать это. Эффективный Java рекомендует "Одобрить состав по наследованию". Значение Вас перемещает общую логику в другие классы и делегата. Это - то, как Вы обходите отсутствие множественного наследования в Java.

17
ответ дан 1 December 2019 в 00:50
поделиться

Ответ Java на множественное наследование является способностью реализовать несколько интерфейсов. Конечно, это означает, что Вы получите объявления метода, но не логику.

Вы могли попытаться эмулировать mixins составом: Ваш класс Java мог определить членские переменные, которые представляют другие классы, которые выполняют некоторую общую бизнес-логику.

В разработке классов Java, я не нашел, что отсутствие C++ разрабатывает множественное наследование для запрещения дизайна моей архитектуры. Вы найдете способ достигнуть того, что Вы хотите сделать.

3
ответ дан 1 December 2019 в 00:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: