From 999a2545f410238533a97e52f8d1d6ac817d57d5 Mon Sep 17 00:00:00 2001 From: Abdelrahman Magdi <84116267+eagledev-am@users.noreply.github.com> Date: Mon, 19 Aug 2024 14:59:40 +0300 Subject: [PATCH] add readme for week6 --- week6/README.md | 70 +++---------------------------------------------- 1 file changed, 4 insertions(+), 66 deletions(-) diff --git a/week6/README.md b/week6/README.md index 8ab334e..abae2fa 100644 --- a/week6/README.md +++ b/week6/README.md @@ -1,72 +1,10 @@ -# Week 5 -## Java 8 -> Java 8, released in March 2014, is a major update to the Java programming language. It introduced several new features and enhancements that greatly improved the language and its ecosystem. Key features of Java 8 include - -
- -
-

Some Features

- -#### Lambda Expressions - * **Syntax**: (parameters) -> expression or (parameters) -> { statements; } - * Lambda expressions enable you to treat functionality as a method argument, or pass a block of code that can be executed later. - -``` -List names = Arrays.asList("John", "Jane", "Max"); -names.forEach(name -> System.out.println(name)); -``` -#### Functional Interfaces -* An interface with a single abstract method (SAM) is known as a functional interface. Java 8 provides several built-in functional interfaces like Predicate, Function, Consumer, and Supplier -``` -@FunctionalInterface -interface MyFunctionalInterface { - void myMethod(); -} -``` -#### Streams API -* A new abstraction that lets you process sequences of elements (e.g., collections) in a functional style. -``` -List names = Arrays.asList("John", "Jane", "Max"); -names.stream() - .filter(name -> name.startsWith("J")) - .forEach(System.out::println); -``` - -#### Optional Class -* A container object that may or may not contain a non-null value. This helps avoid NullPointerException. -``` -Optional optionalName = Optional.ofNullable(null); -System.out.println(optionalName.orElse("Default Name")); -``` - -#### New Date and Time API (java.time) -* A new, more robust and flexible API for working with dates and times, replacing the old java.util.Date and java.util.Calendar. -``` -LocalDate today = LocalDate.now(); -LocalDate birthday = LocalDate.of(1990, Month.JANUARY, 1); -Period age = Period.between(birthday, today); -System.out.println("Age: " + age.getYears()); -``` -
- +# Week 6 +## Programming Paradigms ( Reactive programming ) +> Reactive programming is a programming paradigm focused on designing systems that react to changes, such as user inputs, network responses, or data streams, in a timely and efficient manner. Instead of writing code that pulls or requests data at regular intervals, reactive programming allows the system to automatically respond to data as it becomes available.
| Resource | instructor | | ---------| ---------| -|[Java8(part 1)](https://drive.google.com/file/d/1tJ-Y-unioZZrnXB57dMuH-11o33IW4Wh/view?usp=sharing) | Eng. Adel Zaid | -|[Java8(part 2)](https://drive.google.com/file/d/15Sl5KnhQalhsbyZxR6PsFIhdUNYKhb1J/view?usp=sharing)|Eng. Adel Zaid | +|[Reactive Programming](https://drive.google.com/file/d/1cey50WFYm50H6blVIZt11bfTAckKlnly/view?usp=sharing) | Eng. Hany Ahmed |
- -## Design Pattern -> Design patterns are general reusable solutions to common problems encountered in software design and development. They are not code or libraries but rather guidelines on how to structure code to solve specific problems efficiently. Design patterns help developers create software that is more flexible, maintainable, and scalable by providing proven solutions to recurring design challenges. - -### Behavioral Design Patterns -Behavioral design patterns are concerned with how objects interact and collaborate to achieve specific objectives. They focus on improving communication and responsibility between objects. -- Observer Pattern -- Template Pattern -- Strategy Pattern - -| Resource | instructor | impl.| -| ---------| ---------|-----------| -|[Design pattern (part 3)](https://drive.google.com/file/d/1rXxhMd9HpD6ltyruTG7K49VHkWzy5fe4/view?usp=sharing) | Eng. Ahemd Ali |[Behavioral pattern](https://github.com/eagledev-am/Design-Pattern/tree/main/behavioral) |