Junior — Middle
113
Кодта монада үлгісін қалай жүзеге асырып, пайдалану керек?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Монада паттерні — мәндерді контекстке орап, онымен бірізді операцияларды қолдануға мүмкіндік беретін абстракция. Бұл контекст құрылымын сақтай отырып, мәндермен жұмыс істеуге мүмкіндік береді. Java-да мұндай монада ретінде Optional класы мысал бола алады.
Монада құру үшін:
- Тип параметрі бар орауыш класс жасау.
flatMap(немесеbind) әдісін жүзеге асыру, ол мәннен монадаға функцияны қабылдайды және жаңа монада қайтарады.unit(немесеof) әдісін жүзеге асыру, ол мәнді монадаға орайды.
Қарапайым "Box" монада мысалы:
public class Box<T> {
private final T value;
public Box(T value) {
this.value = value;
}
public <R> Box<R> flatMap(Function<T, Box<R>> f) {
return f.apply(value);
}
public static <T> Box<T> of(T value) {
return new Box<>(value);
}
public T get() {
return value;
}
}
// Қолданылуы:
Box<Integer> box = Box.of(5);
Box<Integer> result = box.flatMap(x -> Box.of(x * 2));
System.out.println(result.get()); // 10
Осылайша, монада операцияларды бірізді қолдануға мүмкіндік береді, ол контексттен шықпайды (орауыш). Нақты жобаларда Optional, Stream немесе функционалды бағдарламалау кітапханалары жиі пайдаланылады.