-
-
Notifications
You must be signed in to change notification settings - Fork 26.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Java 11 support: Utilize new methods #987
Comments
HI I would like to work on this, noticed it was combined from a few tickets, do I make a PR for each point? |
@iluwatar I will work on the following patterns: |
Ok @Anurag870 |
…, tolerantreader, twin, tranpoline
I would like to work on:
|
Also would like to work on:
|
Also checked in code after checking typeobjectpattern, tolerantreader, twin, trampoline |
Ok @leonmak |
cool, thanks.
|
Hi, I am new to this project. May I work on [ ] null-object? |
@iluwatar finally is it time that we close this :D |
@anuragagarwal561994 I really think so 😄 I'm grateful for your persistent effort on this 👍🏻 |
This task is part of the Java 11 transition plan https://github.com/iluwatar/java-design-patterns/wiki/16.-Java-11-Transition
This is a refactoring ticket where we start to utilize new Java 11 functionality.
Collecting to unmodifiable collections is possible using the new Collector for Streams operations to put the results into an immutable collection (see https://www.infoq.com/articles/upgrading-java-8-to-12/)
Predicate::not provides an easy way to negate predicate lambdas or method references, again reducing the boilerplate in our code (see https://www.infoq.com/articles/upgrading-java-8-to-12/)
New methods on Optional give even more options for coding in a functional style when using an Optional instead of having to use clumsy if statements (see https://winterbe.com/posts/2018/09/24/java-11-tutorial/)
Streams have new methods ofNullable, dropWhile, takeWhile (see https://winterbe.com/posts/2018/09/24/java-11-tutorial/)
String has new helper methods (see https://winterbe.com/posts/2018/09/24/java-11-tutorial/)
InputStream finally gets a super useful method to transfer data to an OutputStream (see https://winterbe.com/posts/2018/09/24/java-11-tutorial/)
Convenience Factory Methods for Collections make it significantly easier to create collections like lists, maps and sets (see https://winterbe.com/posts/2018/09/24/java-11-tutorial/)
It's a huge task to do this for all the patterns at once so it is possible to create pull requests for individual patterns. This way we can complete the task gradually. The following checklist tracks which patterns have already been refactored.
[x] abstract-document
[x] abstract-factory
[x] acyclic-visitor
[x] adapter
[x] aggregator-microservices
[x] ambassador
[x] api-gateway
[x] async-method-invocation
[x] balking
[x] bridge
[x] builder
[x] business-delegate
[x] bytecode
[x] caching
[x] callback
[x] chain
[x] circuit-breaker
[x] collection-pipeline
[x] command
[x] commander
[x] composite
[x] converter
[x] cqrs
[x] dao
[x] data-bus
[x] data-locality
[x] data-mapper
[x] data-transfer-object
[x] decorator
[x] delegation
[x] dependency-injection
[x] dirty-flag
[x] double-checked-locking
[x] double-dispatch
[x] eip-aggregator
[x] eip-message-channel
[x] eip-publish-subscribe
[x] eip-splitter
[x] eip-wire-tap
[x] event-aggregator
[x] event-asynchronous
[x] event-driven-architecture
[x] event-queue
[x] event-sourcing
[x] execute-around
[x] extension-objects
[x] facade
[x] factory-kit
[x] factory-method
[x] faq.md
[x] feature-toggle
[x] fluentinterface
[x] flux
[x] flyweight
[x] front-controller
[x] guarded-suspension
[x] half-sync-half-async
[x] hexagonal
[x] intercepting-filter
[x] interpreter
[x] iterator
[x] layers
[x] lazy-loading
[x] leader-election
[x] marker
[x] master-worker-pattern
[x] mediator
[x] memento
[x] model-view-controller
[x] model-view-presenter
[x] module
[x] monad
[x] monostate
[x] multiton
[x] mute-idiom
[x] mutex
[x] naked-objects
[x] null-object
[x] object-mother
[x] object-pool
[x] observer
[x] page-object
[x] partial-response
[x] pipeline
[x] poison-pill
[x] priority-queue
[x] private-class-data
[x] producer-consumer
[x] promise
[x] property
[x] prototype
[x] proxy
[x] queue-load-leveling
[x] reactor
[x] reader-writer-lock
[x] repository
[x] resource-acquisition-is-initialization
[x] retry
[x] semaphore
[x] servant
[x] serverless
[x] service-layer
[x] service-locator
[x] singleton
[x] spatial-partition
[x] specification
[x] state
[x] step-builder
[x] strategy
[x] template-method
[x] thread-pool
[x] throttling
[x] tls
[x] tolerant-reader
[x] trampoline
[x] twin
[x] typeobjectpattern
[x] unit-of-work
[x] value-object
[x] visitor
The text was updated successfully, but these errors were encountered: