lundi 16 mars 2015

How to make a Java project 'extendable' by developers?

I'm working on a server engine, and I am not sure in what form to distribute it. It is quite modular and it uses interfaces/abstract classes.


Should it be:




  • a library (no entry-point, write your own main() and call new Server().setSomeHandler(myHandler).run())




  • a binary (executable entrypoint with config file where you can inject JAR with handlers)




  • something else?




Basically, the developer should be able to completely extend or change the way the server works. I don't like the idea of making it a library because it should be a platform by itself, a whole server system.


Aucun commentaire:

Enregistrer un commentaire