CloudCoders / Design-Patterns

Project for learning and discuss about design patterns
16 stars 1 forks source link

Flyweight #28

Open pedrodaviddev opened 7 years ago

pedrodaviddev commented 7 years ago

Edit by @tonilopezmr: Solved #19

Implemented flyweight pattern. Maybe you are thinking... why are you merging with state branch??? This is because the great @tonilopezmr said that Flyweight can be implemented with State, so I make pull to see if this can be done. And I cant see the similaritys between these patterns so, here's my version of flyweight! So much love <3

tonilopezmr commented 7 years ago

@Cotel Seems ok overall?

Cotel commented 7 years ago

Seems okay if you want to treat Kotlin like oldstyle Java, thats why I told him to update his code 🤣

Cotel commented 7 years ago

I don't understand anything of this pattern. I've been reading but it is still unclear to me. Can you explain it? I need to know how to review this before I get to it 😵

tonilopezmr commented 7 years ago

https://en.wikipedia.org/wiki/Flyweight_pattern

https://sourcemaking.com/design_patterns/flyweight

And this is very good explanation 👍 http://www.arquitecturajava.com/java-flyweight-pattern-rendimiento/

tonilopezmr commented 7 years ago

The last one explains what is, in resume, when you have a data structs with duplicates, you remove all your object duplication and share with other objects.

In the @Nhemesy example, he wanted to have a Soldiers that if are the same "type" (same soldier) only create once because are two object with the same values.

tonilopezmr commented 7 years ago

@Nhemesy What do you think? you need see the last changes.

We need merge this

tonilopezmr commented 7 years ago

@Nhemesy please

tonilopezmr commented 7 years ago

Don't forget add Flyweight in README and complete with an example

tonilopezmr commented 7 years ago

@tonilopezmr

@Cotel

@Nhemesy

Cotel commented 7 years ago

We are back! 💪