Skip to content
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: Start using var #984

Closed
iluwatar opened this issue Oct 12, 2019 · 24 comments
Closed

Java 11 support: Start using var #984

iluwatar opened this issue Oct 12, 2019 · 24 comments

Comments

@iluwatar
Copy link
Owner

iluwatar commented Oct 12, 2019

This task is part of the Java 11 transition plan https://github.com/iluwatar/java-design-patterns/wiki/16.-Java-11-Transition

Start using local-variable type inference (var). It is a nice example of syntactic sugar that helps reduce boilerplate code (see https://www.infoq.com/articles/upgrading-java-8-to-12/ and 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] 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] role-object
[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

@Anurag870
Copy link
Contributor

I am working on this

@iluwatar
Copy link
Owner Author

Ok @Anurag870

@zbeach
Copy link
Contributor

zbeach commented Oct 12, 2019

I'd also like to work on this!

@iluwatar
Copy link
Owner Author

@Anurag870 could you state which patterns will you be working on? @zbeach can then look at some others.

@Anurag870
Copy link
Contributor

@zbeach I will keep updating the list here:

abstract-document
abstract-factory
acyclic-visitor
adapter
aggregator-microservices

@gvsharma
Copy link
Contributor

I would like to work on this?

@iluwatar
Copy link
Owner Author

Ok @gvsharma, just declare what patterns you will be working on so the work won't conflict with @Anurag870 and @zbeach

@gvsharma
Copy link
Contributor

I will work on below patterns
[ ] serverless
[ ] service-layer
[ ] service-locator
[ ] singleton
[ ] state
[ ] step-builder
[ ] strategy
[ ] template-method
[ ] thread-pool
[ ] throttling

iluwatar pushed a commit that referenced this issue Oct 20, 2019
* #984 Fix for abstract-document, abstract-factory, acyclic-visitor, adapter, aggregator-microservices

* #984 Fix for abstract-document, abstract-factory, acyclic-visitor, adapter, aggregator-microservices
@gvsharma
Copy link
Contributor

I will work on below patterns
[ ] serverless
[ ] service-layer
[ ] service-locator
[ ] singleton
[ ] state
[ ] step-builder
[ ] strategy
[ ] template-method
[ ] thread-pool
[ ] throttling

Done with changes. Thank you

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked up remaining b-c in #1081

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked up starting with a in #1084
@iluwatar picked up from t-v in #1085

iluwatar added a commit that referenced this issue Nov 12, 2019
@anuragagarwal561994
Copy link
Contributor

@iluwatar picked all c-e in #1111 and #1112

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked all f in #1115

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked remaining g,h,i in #1116

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked all s in #1120

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked all q-r in #1121

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked all p in #1122

@npczwh
Copy link
Contributor

npczwh commented Feb 26, 2020

@iluwatar, updated the below patterns in #1190:
layers
lazy-loading
leader-election

iluwatar pushed a commit that referenced this issue Mar 22, 2020
* Java 11 support: lazy-loading pattern

* Java 11 support: layers pattern

* Java 11 support: leader-election/lazy-loading patterns
@anuragagarwal561994
Copy link
Contributor

@iluwatar picked all m in #1220

@npczwh
Copy link
Contributor

npczwh commented Apr 14, 2020

@iluwatar, updated the below patterns in #1222:
object-mother
object-pool
observer

@venkatrs-ch197
Copy link
Contributor

Hi,

I'd like to work on [ ] module pattern.
Can I proceed with this?

@venkatrs-ch197
Copy link
Contributor

Hi @iluwatar,

Can you please look into my pull request #1238 and let me know if any changes required.

Thanks,
Venkat

@anuragagarwal561994
Copy link
Contributor

@iluwatar picked remaining in #1479

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment