Design Patterns in the Light of Lambda Expressions by Subramaniam

  Рет қаралды 127,739

Devoxx

Devoxx

8 жыл бұрын

Please subscribe to our KZbin channel @ bit.ly/devoxx-youtube
Like us on Facebook @ / devoxxcom
Follow us on Twitter @ / devoxx
We all have used design pattern in Java for decades. Most of those patterns were influenced by the capability of the language. The capability of the language, however, got better with Java 8. With lambdas, we will use some design patterns differently than before. There are other design patterns that we can use now that were beyond reasonable reach before. If you're into design patterns, what to up your skills on applying patterns with lambdas and related capabilities in Java 8, see you at the session.

Пікірлер: 67
@trevorcoleman9125
@trevorcoleman9125 2 жыл бұрын
These presentations are gold mines of wisdom. I get about 200% smarter every time I listen to one, but I have to take breaks because the pace is relentless. Talks need breaks, the same way flights of stairs have landings. Just a short break to breathe for a second.
@testamento13
@testamento13 8 жыл бұрын
Ok I am officially addict to streams and Lambda expressions :)
@virendrapatel775
@virendrapatel775 3 жыл бұрын
same here
@littlethings2250
@littlethings2250 4 жыл бұрын
You don't like lambdas & streams great!! Stay there till the end. Now? Thank you for some real good stuff and importantly the way it is presented👍
@CenturionDobrius
@CenturionDobrius 4 жыл бұрын
this guy is simply amazing !!! thank you Venkat for everything you do, and thank God that used builder pattern when creating you, and like in mailer example, setting up all those "andThen()" on you : knowledge, energy, interesting examples, humor, which you successfully apply in your stand-ups :)
@neozoan
@neozoan 7 жыл бұрын
Holy crap! Venkat knows my grandma!
@crabsynth3480
@crabsynth3480 6 жыл бұрын
Excellent Lecture... The Presentation is simply Flawless, highly Informative and Entertaining!
@suninsandeep
@suninsandeep Жыл бұрын
must watch presentation even after 7 years .
@EnricoGalassi
@EnricoGalassi 7 жыл бұрын
What a great video! Excellent look at some of the design patterns with the newest language features!
@GauravRawat14
@GauravRawat14 8 жыл бұрын
love most of Venkat's presentations ..this is great coding while listning to this
@TheTubeThomas
@TheTubeThomas 8 жыл бұрын
One of the best presentations of Devoxx 2015 - enjoyed it so much.
@wwhill8033
@wwhill8033 5 жыл бұрын
You are amazing in the way you explain and present!! Thanks so much
@GijsSijpesteijn
@GijsSijpesteijn 8 жыл бұрын
Excellent, now see the places in my code where I can use it. That could be a challenge
@josephmukorivo484
@josephmukorivo484 7 жыл бұрын
Wow best teacher ever thanks venkat
@tobiaspreuss
@tobiaspreuss 6 жыл бұрын
Thank you for your great talk!
@sthoyyeti
@sthoyyeti 8 жыл бұрын
Venkat Sir, you are right on the money!
@pawelmagnowski2014
@pawelmagnowski2014 8 жыл бұрын
1:54 the same goes for Agile, DDD etc etc. But it will take another 20y for managers and "enterprise architects" to get this
@bishbashboshjt
@bishbashboshjt 7 жыл бұрын
This guy is a great teacher
@ahmetyasarozer
@ahmetyasarozer 7 жыл бұрын
Huge thanks. Best wishes.
@waqasrana7891
@waqasrana7891 6 жыл бұрын
just awesome presentation by venkat ever
@olegnovitskiy1098
@olegnovitskiy1098 8 жыл бұрын
Awesome! Thanks.
@strictnonconformist7369
@strictnonconformist7369 5 жыл бұрын
I especially like the “execute around method” pattern, garbage-collected language/runtime or not, making sure things always get cleaned up properly is a nice thing to force the users to do by design making it easy and forgetting it impossible because the compiler won’t let you use it where you could forget.
@sourabhhsethii7292
@sourabhhsethii7292 2 жыл бұрын
I started loving it. Functional Programming
@CivilNL
@CivilNL 6 жыл бұрын
Awesome talk!
@samuelasmelash8719
@samuelasmelash8719 4 жыл бұрын
great content as always.
@meriemkaroun7626
@meriemkaroun7626 6 жыл бұрын
You re awesome! Please, do not stop doing such a great job :) (big fan)
@Aaradhyannair167
@Aaradhyannair167 3 жыл бұрын
Superb. You are just amazing
@dancodrean01
@dancodrean01 6 жыл бұрын
man you are amazing !
@multigladiator384
@multigladiator384 5 жыл бұрын
Great practise.
@kamesh7818
@kamesh7818 3 жыл бұрын
loved it, as always :)
@pavanagrahari694
@pavanagrahari694 4 жыл бұрын
So great sr
@KDOERAK
@KDOERAK 5 жыл бұрын
a great talk
@MuscleTeamOfficial
@MuscleTeamOfficial 7 жыл бұрын
Thanks VSub
@jiteshsrivastava5808
@jiteshsrivastava5808 5 жыл бұрын
I like it.
@neetamlimbu5335
@neetamlimbu5335 7 жыл бұрын
Awesome
@jorgetovar621
@jorgetovar621 7 жыл бұрын
I really like your videos but I think that can be useful to specify the proper article in the agile downloads
@leeyomwang1834
@leeyomwang1834 7 жыл бұрын
so cool
@metachronicler
@metachronicler 8 жыл бұрын
First minute or so is gold. I would only add that design patterns in some cases are probably indicative of a flaw in the design of a language.
@krishnasharma353
@krishnasharma353 5 жыл бұрын
I think caught you very late but not too late. I became a big fan of you, the day I watch one of your conference talk since then almost going through all the conference talk and blog. By doing so I am getting addicted with this. The way you explain the problem giving with real world example(like in hotel you were asking for watch and receptionist was insisting you that you need an alarm. and many more) and some funniest talk in between it's not making us to get bored even watching 2-3 hour of video. You are genius, Keep doing. I have a small doubt if you get time to reply Can we still maintain the immutability using cascading(cascade method pattern) possible alternative of Builder pattern? Example, in the given Mailer example if I change method signature of 'send' like below public static Mailer create(Consumer block){ // I want creation of object to use somewhere else but only getters should be accessible Mailer mailer = new Mailer(); block.accept(mailer); return mailer; } And the caller side they will call /** I want this Mailer object some other functions/classes**/ Mailer mailer = Mailer.create() ; mailer.anySetterMethod()// shouldn't do that, that's fine we can create all members as private final, but if we do that then how will access in lambda expression Before asking this question I analyse myself but couldn't find any better solution except the original builder pattern, accordingly I reach to the conclusion that Method cascade pattern is not purely alternative of Builder pattern.
@friesmaker
@friesmaker 3 жыл бұрын
This makes me excited to write code again hahaha
@giladbaruchian7522
@giladbaruchian7522 7 жыл бұрын
actually i rather use closeable than the trick you did there, and i set my compiler to show unclosed resources as errors so i dont forget or ignore
@minjee9942
@minjee9942 3 жыл бұрын
@45:20 you could have used Supplier right? still makes the point he was trying to make
@amol_
@amol_ 4 жыл бұрын
[56:30] Unit testing is very important part of software so while writing unit test of sample class how can i mock Resource static function use?
@AndiRadyKurniawan
@AndiRadyKurniawan 8 жыл бұрын
What editor is this?
@kendallm
@kendallm 7 жыл бұрын
He talks about his text editor setup on his website. www.agilelearner.com/presentation/5
@corabora6644
@corabora6644 5 жыл бұрын
What is it about the fruit that they cant make TextMate for Windows ??
@DarthCane
@DarthCane 5 жыл бұрын
When Venkat's talking about Strategy pattern, isn't that actually Template pattern? He's changing one step of the algorithm, not the entire algorithm. Can anyone explain the difference? I'm confused
@thatoneuser8600
@thatoneuser8600 2 жыл бұрын
Yeah, it looks like it's the template method pattern. Same order of steps, but the steps are different. Strategy pattern could have a completely different set of operations to fulfill its goal
@dorbsz
@dorbsz 6 жыл бұрын
Anyone know the editor he uses?
@vijayjayaram606
@vijayjayaram606 3 жыл бұрын
U r GOD 🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼
@antimojv
@antimojv 5 жыл бұрын
"In java 7 or early if you want to use a strategy pattern you often organize a corporate design meeting" lol ahahaahahahahah!
@easonsolitud6098
@easonsolitud6098 4 жыл бұрын
and if you really think about it
@maitreeee
@maitreeee 3 жыл бұрын
8:20 made me laugh
@dupindersingh1599
@dupindersingh1599 4 жыл бұрын
What IDE he is using ?
@itskumaresan
@itskumaresan 3 жыл бұрын
Mac's TextMate
@segwitchannel2042
@segwitchannel2042 6 жыл бұрын
public static void send(Action blocker) { Mailer mailer = new Mailer(); blocker.Invoke(mailer); Console.WriteLine("sending.."); } --------> is this the equivalent code in C#?
@kenichimori8533
@kenichimori8533 5 жыл бұрын
.deb script a port license.
@ArisAlamanos
@ArisAlamanos 7 жыл бұрын
Yeah!!! Let's all jump onto the functional programming bandwagon from a (now formerly) object oriented language! That'll be great! More mental model confusion will be great! Let's change programming languages and frameworks every six months I say! Let's completely change and mix-up features and paradigms all the time so that every generation of programmers is completely isolated from the previous and next ones. That's the way to go!
@ivanvano13
@ivanvano13 6 жыл бұрын
classic straw man argument
@raman2072
@raman2072 6 жыл бұрын
Wow! I thought you were intelligent and then you spoke! If you would have listened to his previous teachings, he clearly mentioned the folks at Java missed an opportunity to introduce Lambda 20 years ago when they introduced anonymous classes! Also seriously when did java ever change? Java is the ONLY language which build backward compatibility right from JDK 1.0 days. If you see python or Scala, or .NET, they are not that nice! They do not provide any backward compatibility at all and then your comment should actually be at the creators of Scala, python and .NET. and NOT at java at all. Also, Dr. Venkat made a great original comment -" if any language DOES NOT support backward compatibility, it is doomed. If a language supports it, it is doomed. Then the question is which way you wanna be doomed?"
@Adventurevictoria
@Adventurevictoria 5 жыл бұрын
That was really uncomfortable every time when he was overexpressing for a design pattern. We do have an issue with pattern and it gives us stress but does it mean this should not into the programmer world? ...for me, the reason we can tell Lambda is not just better but actually, renovation from previous java is because of where we've been through Yes, Design pattern. And Does Lambda will be the final destination of Java? I don't think so. Then Is any other engineer in the future should express as a silly thing for Lambda .. simply because of how the Lamda stress the engineer to memorise all the new API but not ready to test yet ?? How hard to debug? it's not ... its gonna be another stepping stone to improve as design pattern did. Please have reasonable respect to other's achievement before show off yourself mate.
@gappergob6169
@gappergob6169 4 жыл бұрын
No
@0blackmilk0
@0blackmilk0 6 жыл бұрын
Man! Go Slow.
@ColjaCarls
@ColjaCarls 3 жыл бұрын
Yes he is funny and yes, he is presenting deep and entertaining content but OH MY... this high pitched voice! Even lowering the volume cannot make it an easy listening. Me ears still hurt 🤯
@mannysingh6618
@mannysingh6618 5 жыл бұрын
Venkat, you don't need to put on such a sharp accent, it does not sound natural. An Indian accent is fine.
Design Patterns Revisited in Modern Java by Venkat Subramaniam
2:38:40
Playing hide and seek with my dog 🐶
00:25
Zach King
Рет қаралды 36 МЛН
Получилось у Миланы?😂
00:13
ХАБИБ
Рет қаралды 4,9 МЛН
Slow motion boy #shorts by Tsuriki Show
00:14
Tsuriki Show
Рет қаралды 10 МЛН
Design Patterns Revisited in Modern Java by Venkat Subramaniam
51:30
Getting started with Spring Cloud by Josh Long
1:01:15
Devoxx
Рет қаралды 45 М.
Arrow 2.0's Trajectory by Simon Vergauwen
33:29
Kotlin by JetBrains
Рет қаралды 6 М.
Exploring Collectors by Venkat Subramaniam
2:24:38
Devoxx
Рет қаралды 78 М.
Refactoring to Immutability - Kevlin Henney
1:03:22
NDC Conferences
Рет қаралды 93 М.
Java Streams: Beyond The Basics
49:21
Jfokus
Рет қаралды 72 М.
Java's Hidden Gems: Tools and Libraries by Johan Janssen
50:09
Kotlin for Java Programmers by Venkat Subramaniam
51:40
Devoxx
Рет қаралды 56 М.
Playing hide and seek with my dog 🐶
00:25
Zach King
Рет қаралды 36 МЛН