add AO the base

This commit is contained in:
tuanvu
2025-11-03 12:58:00 +01:00
parent fabf03710b
commit b4a2e96f19
12 changed files with 106 additions and 7 deletions

View File

@@ -1,5 +1,12 @@
package impl;
public class Afficheur {
import interfaces.Capteur;
import interfaces.ObserverdeCapteur;
public class Afficheur implements ObserverdeCapteur {
//AO1 - concrete servant
@Override
public void update(Capteur subject) {
}
}

View File

@@ -1,5 +1,21 @@
package impl;
public class Canal {
import interfaces.Capteur;
import interfaces.CapteurAsync;
import interfaces.ObserverDeCapteurAsync;
import java.util.concurrent.Future;
public class Canal implements ObserverDeCapteurAsync, CapteurAsync {
//AO1 - proxy
@Override
public Future<?> update(Capteur c) {
return null;
}
//AO2 - proxy
@Override
public Future<Integer> getValue() {
return null;
}
}

View File

@@ -1,5 +1,28 @@
package impl;
public class CapteurImpl {
import interfaces.Capteur;
import interfaces.Observer;
public class CapteurImpl implements Capteur {
@Override
public void attach(Observer o) {
}
@Override
public void detach(Observer o) {
}
@Override
public void tick() {
}
//AO2 - Concrete Servant
@Override
public int getValue() {
return 0;
}
}

11
src/impl/GetValue.java Normal file
View File

@@ -0,0 +1,11 @@
package impl;
import interfaces.MethodInvocation;
public class GetValue implements MethodInvocation {
//AO2 - concrete MI
@Override
public void call() {
}
}

11
src/impl/Update.java Normal file
View File

@@ -0,0 +1,11 @@
package impl;
import interfaces.MethodInvocation;
public class Update implements MethodInvocation {
//AO1 - concrete MI
@Override
public void call() {
}
}

View File

@@ -1,5 +1,7 @@
package interfaces;
public interface AlgoDiffusion {
public void configure();
public void execture();
public void configure();
public void execture();
}

View File

@@ -2,6 +2,8 @@ package interfaces;
public interface Capteur {
public void attach(Observer o);
public void detach(Observer o);
public int getValue();
public void tick();
//AO2 - servant
int getValue();
}

View File

@@ -0,0 +1,8 @@
package interfaces;
import java.util.concurrent.Future;
public interface CapteurAsync {
//AO2 - service
Future<Integer> getValue();
}

View File

@@ -0,0 +1,6 @@
package interfaces;
public interface Future<T> {
T get();
boolean isDone();
}

View File

@@ -0,0 +1,5 @@
package interfaces;
public interface MethodInvocation {
void call();
}

View File

@@ -0,0 +1,8 @@
package interfaces;
import java.util.concurrent.Future;
public interface ObserverDeCapteurAsync {
//AO1 - service
Future<?> update(Capteur c);
}

View File

@@ -1,6 +1,6 @@
package interfaces;
public interface ObserverdeCapteur extends Observer<Capteur>{
//AO1 - servant
@Override
public void update(Capteur subject);
}