amber-docs
jmolecules
Our great sponsors
amber-docs | jmolecules | |
---|---|---|
58 | 4 | |
142 | 1,082 | |
0.7% | 3.2% | |
6.3 | 6.4 | |
2 months ago | 2 months ago | |
HTML | Java | |
GNU General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
amber-docs
-
Record Patterns point to Java language designers losing their compass
Record patterns are one step on the path to general pattern matching utility. The bigger building block is general deconstructors. I recommend reading Functional Transformation of Immutable Objects by Brian Goetz. The idea of "withers" shown there requires deconstructors:
- Which Kotlin features do you think Java still needs to steal, if any?
-
JDK 20 G1/Parallel/Serial GC Changes
https://github.com/openjdk/amber-docs/blob/master/eg-drafts/...
This is the vague plan.
-
Deconstruction patterns [Brian Goetz]
You may be joking but...
-
Java Records as Embeddables with Hibernate 6
Here is the much more detailed version: https://github.com/openjdk/amber-docs/blob/master/eg-drafts/reconstruction-records-and-classes.md
-
Where does the dislike/hate for Java come from?
This kind of pattern matching is discussed in the design notes: https://github.com/openjdk/amber-docs/blob/master/site/design-notes/patterns/pattern-match-object-model.md
-
Making Lenses Practical in Java
True, but that only pushes the question of value down the line.
I'm curious about lenses because Java did have a serious problem that required a solution: working with "simple" data correctly was difficult. The chosen solution was ADTs, so we did buy into that. But the approach being explored for transforming records (https://github.com/openjdk/amber-docs/blob/master/eg-drafts/...) only works one level at a time rather than for an entire path. So I wonder how valuable it would be to have a solution for paths. If the answer is that it's mostly valuable for an approach we haven't bought into yet, then we might not need to consider it just yet.
-
How I got involved in the Rust community
Just a heads up, something like that spread operator is actually coming sooner or later to java: https://github.com/openjdk/amber-docs/blob/master/eg-drafts/...
Pattern matching (for records) is already a preview feature.
- Should you still be using Lombok?
- Cascade operator in Java
jmolecules
- Libraries to help developers express architectural abstractions in Java code
-
Spring Modulith: have we reached modularity maturity?
Spring Modulith is the successor of Oliver Drotbohm's Moduliths project (with a trailing S). It uses both ArchUnit and jMolecules. At the time of this writing, it's experimental.
- jMolecules 2021.2.0 released
-
Deprecating JPA no-args constructors
You could move towards modeling your code around DDD building blocks (like aggregates etc.) and declare those concepts in code explicitly using jMolecules types. There is a dedicated jMolecules Integrations ByteBuddy Plugin, that would then add the necessary boilerplate code and default mappings required by the expressed concept. This makes the code shown here a fully working JPA model. You can argue that the lack of JPA oddities is odd itself in the first place but I like the idea of expressing the architectural concept explicitly and the technology integration completely flowing from that.
What are some alternatives?
adoptium.net - Development of the website has moved to https://github.com/adoptium/website-v2
educational-platform - Modular Monolith Java application with DDD
record-builder - Record builder generator for Java records
archifacts - archifacts is a library to extract your architectural concepts out of your application's code
FizzBuzz Enterprise Edition - FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes.
cp-ddd-framework - 轻量级DDD正向/逆向业务建模框架,支撑复杂业务系统的架构演化!
vim-fibo-indent - Fibonacci Indentation for Vim.
persistence
prettier-java - Prettier Java Plugin
moduliths - Building modular, monolithic applications using Spring Boot
ImportExcel - PowerShell module to import/export Excel spreadsheets, without Excel
buckpal - An example approach for implementing a Clean/Hexagonal Architecture