import com.example.lifecycle.LifecycleService;
import com.example.lifecycle.LifecycleEvent;
import com.example.lifecycle.LifecycleListener;
public class MyApp implements LifecycleListener {
private LifecycleService lifecycleService;
public MyApp() {
lifecycleService = new LifecycleService();
lifecycleService.addListener(this);
}
public void start() {
lifecycleService.fireEvent(LifecycleEvent.START);
}
public void stop() {
lifecycleService.fireEvent(LifecycleEvent.STOP);
}
@Override
public void onEvent(LifecycleEvent event) {
if (event == LifecycleEvent.START) {
} else if (event == LifecycleEvent.STOP) {
}
}
public static void main(String[] args) {
MyApp app = new MyApp();
app.start();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
app.stop();
}
}
<component id="myApp" class="com.example.MyApp">
<dependencies>
<dependency ref="databaseComponent"/>
<dependency ref="networkComponent"/>
</dependencies>
</component>
<component id="databaseComponent" class="com.example.DatabaseComponent"/>
<component id="networkComponent" class="com.example.NetworkComponent"/>