-
Notifications
You must be signed in to change notification settings - Fork 10
Modular Java Architectures
HOME > [NFJS 2015](NFJS 2015) > [Modular Java Architectures](Modular Java Architectures)
Kirk Konernschild
Modularity is coming to the Java Platform in Java 9.
OpenJDK is developing Jigsaw which will become part of Java 9.
OSGi Exists today.
Jigsaw has been in development since 2007. They are also modularizing the JDK along with this which is why it has taken them so long. He isn't going to talk about any of this today....
###Module We have only treated a jar file as a packaging construct. What happens if we treat a jar file a more than that? treat them as modules.
###Benefits of Modularity Design:
- Reuse
- Extensibility
- Adapaptability
- Maintainability
- Understandability
- Minimize complexity
Runtime:
- Module lifecycle
- Manageability
- Hot deployment
- I missed the rest
###Base patterns
- Manage Relationships - Design Module relationships
- Module Reuse - Emphasize reuseablility
- Cohesive Modules - Module behavior should serve a singlar purpose
###Dependency Patterns
- Acyclic Relationships
- Levelize Modules
- Physical Layers - don't voiliate the layers
- Container Independence - modules should be independent of the runtime container
- Independent Deployment
Interfaces should be close to the classes that use them, farther away from the classes that implement them.
The main theme in this talk is to think about how you are designing your Java classes and methods. Think about what passing domain objects between classes does to adding dependencies. Abstract classes, move interfaces away from implementation. Look at the way you package your classes as modules and understand the dependencies between them.
ACES Learn to Code
- Git, GitHub GH-Pages
- Ozone Platform Developer Setup
- HTML, JavaScript, CSS
- Tomcat Web Server Setup
- A Simple Node.js App
- Spark with Docker
- Best Practices for Software Development
Other Tutorials
Conferences
- 2018 - DevOps Days Baltimore
- 2018 DevOps Days Baltimore, Part 2
- DevOpsDays---Baltimore
- Cross-Domain-Technical-Forum
- 2017 Potential Conferences
- LAS December 5th 2016
- DI2E Plugfest 2016
- OSCON 2015
- RWX-2015
- SpringOne-2017
- OSCON-2018
- DinosaurJS 2018
Training
- Developing on AWS
- Agile Team Facilitation
- Amazon AWS Big Data Solutions Day
- Cloudera Developer Training for Spark and Hadoop May 2016