https://github.com/idugalic/axon-polymorphism-demo
Axon and OOP (Inheritance, Polymorphism)
https://github.com/idugalic/axon-polymorphism-demo
axonframework ddd inheritance oop
Last synced: 8 months ago
JSON representation
Axon and OOP (Inheritance, Polymorphism)
- Host: GitHub
- URL: https://github.com/idugalic/axon-polymorphism-demo
- Owner: idugalic
- Created: 2020-03-21T21:09:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-10T12:05:34.000Z (over 5 years ago)
- Last Synced: 2025-01-31T15:11:11.469Z (10 months ago)
- Topics: axonframework, ddd, inheritance, oop
- Language: Java
- Homepage:
- Size: 19.5 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [projects](http://idugalic.github.io/projects)/axon-polymorphism-demo
Inheritance and polymorphism are important concepts in object-oriented programming.
You are able to [use these concepts in Axon Framework](https://docs.axoniq.io/reference-guide/implementing-domain-logic/command-handling/aggregate-polymorphism) (since version 4.3).
Please mind that this is a demo application, and that it does not favor inheritance over composition in general.
It demonstrate the usage of these OOP concepts in Axon applications from the technical point of view.
Don't be caught only using the "is-a-kind-of" guideline for inheritance - it can lead you down a very timely and expensive path ;)
## Development
This project is driven using [maven].
### Run Axon Server
You can [download](https://download.axoniq.io/axonserver/AxonServer.zip) a ZIP file with AxonServer as a standalone JAR. This will also give you the AxonServer CLI and information on how to run and configure the server.
Alternatively, you can run the following command to start AxonServer in a Docker container:
```
$ docker run -d --name axonserver -p 8024:8024 -p 8124:8124 axoniq/axonserver
```
### Run locally
You can run the following command to start your project locally:
```
$ ./mvnw spring-boot:run
```
### Run tests
This project comes with some rudimentary tests as a good starting
point for writing your own. Use the following command to execute the
tests using Maven:
```
$ ./mvnw test
```
---
Created with :heart: by [Ivan Dugalic](https://idugalic.github.io/)
[maven]: https://maven.apache.org/ (Maven)
[axon]: https://axoniq.io/ (Axon)