Существует два типа групп - частные и общедоступные. Каждая группа может иметь в ней членов. У меня есть три параметра id, includePrivate, includePublic, которые должны быть переданы в метод для возврата групп в соответствии с приведенными ниже правилами. Для примера.Сложная if/else логика в java с несколькими переменными
public List<Group> getListofGroups(String id, Boolean isPrivate, Boolean isPublic){}
- Всех группы {}
- всех частных группы { "includePrivate": True}
- всех общественных групп { "includePublic": истина}
- всех частных групп с членством { "ID ":" ID1" , "includePrivate": истинный}
- все частные группы с членством + все общественные группы { "ID": "ID1", "includePrivate": правда, "includePublic": истинный}
Каков наилучший способ реализации этой сложной логики if/else? Это хороший вариант для создания механизма правил только для этого api?
For eg. if(isPrivate && isPublic && id=!null) {
return publicAndPrivateWIthMembership();
} else if(isPrivate && id=!null) {
return privateGroupsWithMembership();
} else if((isPublic && !isPrivate) ||(isPublic && isPrivate == null)) {
return allPublicGroups();
} else if((isPrivate && !isPublic) ||(isPrivate && isPublic == null)) {
return allPrivateGroups();
}........
Это довольно непонятно, о чем вы просите, но это не выглядит таким сложным. Вы пытались просто написать это как несколько операторов if/else? –
Я добавил несколько контекстов проблемы. Кроме того, каждая из этих переменных также может быть нулевой, что приводит к сложности. –
@MeghashyamSandeepV, пожалуйста, обновите код в своем вопросе, чтобы он был более читабельным. – Atri