Design Patterns in the Light of Lambda Expressions by Subramaniam

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2015
  • Please subscribe to our TH-cam 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 ปีที่แล้ว +6

    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 ปีที่แล้ว +65

    Ok I am officially addict to streams and Lambda expressions :)

  • @littlethings2250
    @littlethings2250 4 ปีที่แล้ว +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 ปีที่แล้ว +15

    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 :)

  • @EnricoGalassi
    @EnricoGalassi 7 ปีที่แล้ว +13

    What a great video! Excellent look at some of the design patterns with the newest language features!

  • @crabsynth3480
    @crabsynth3480 6 ปีที่แล้ว +7

    Excellent Lecture... The Presentation is simply Flawless, highly Informative and Entertaining!

  • @neozoan
    @neozoan 7 ปีที่แล้ว +14

    Holy crap! Venkat knows my grandma!

  • @TheTubeThomas
    @TheTubeThomas 8 ปีที่แล้ว +1

    One of the best presentations of Devoxx 2015 - enjoyed it so much.

  • @GauravRawat14
    @GauravRawat14 8 ปีที่แล้ว +5

    love most of Venkat's presentations ..this is great coding while listning to this

  • @wwhill8033
    @wwhill8033 5 ปีที่แล้ว +1

    You are amazing in the way you explain and present!! Thanks so much

  • @suninsandeep
    @suninsandeep ปีที่แล้ว

    must watch presentation even after 7 years .

  • @josephmukorivo484
    @josephmukorivo484 7 ปีที่แล้ว +2

    Wow best teacher ever thanks venkat

  • @sthoyyeti
    @sthoyyeti 8 ปีที่แล้ว +1

    Venkat Sir, you are right on the money!

  • @tobiaspreuss
    @tobiaspreuss 6 ปีที่แล้ว +1

    Thank you for your great talk!

  • @GijsSijpesteijn
    @GijsSijpesteijn 8 ปีที่แล้ว +5

    Excellent, now see the places in my code where I can use it. That could be a challenge

  • @olegnovitskiy1098
    @olegnovitskiy1098 8 ปีที่แล้ว +1

    Awesome! Thanks.

  • @bishbashboshjt
    @bishbashboshjt 7 ปีที่แล้ว

    This guy is a great teacher

  • @ahmetyasarozer
    @ahmetyasarozer 7 ปีที่แล้ว

    Huge thanks.
    Best wishes.

  • @pawelmagnowski2014
    @pawelmagnowski2014 8 ปีที่แล้ว +4

    1:54 the same goes for Agile, DDD etc etc. But it will take another 20y for managers and "enterprise architects" to get this

  • @waqasrana7891
    @waqasrana7891 6 ปีที่แล้ว

    just awesome presentation by venkat ever

  • @samuelasmelash8719
    @samuelasmelash8719 4 ปีที่แล้ว +1

    great content as always.

  • @meriemkaroun7626
    @meriemkaroun7626 6 ปีที่แล้ว +6

    You re awesome! Please, do not stop doing such a great job :) (big fan)

  • @sourabhhsethii7292
    @sourabhhsethii7292 2 ปีที่แล้ว

    I started loving it. Functional Programming

  • @CivilNL
    @CivilNL 6 ปีที่แล้ว +1

    Awesome talk!

  • @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.

  • @kamesh7818
    @kamesh7818 3 ปีที่แล้ว

    loved it, as always :)

  • @Aaradhyannair167
    @Aaradhyannair167 3 ปีที่แล้ว

    Superb. You are just amazing

  • @multigladiator384
    @multigladiator384 5 ปีที่แล้ว

    Great practise.

  • @dancodrean01
    @dancodrean01 6 ปีที่แล้ว

    man you are amazing !

  • @pavanagrahari694
    @pavanagrahari694 4 ปีที่แล้ว

    So great sr

  • @jorgetovar621
    @jorgetovar621 7 ปีที่แล้ว +1

    I really like your videos but I think that can be useful to specify the proper article in the agile downloads

  • @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.

  • @MuscleTeamOfficial
    @MuscleTeamOfficial 7 ปีที่แล้ว

    Thanks VSub

  • @jiteshsrivastava5808
    @jiteshsrivastava5808 5 ปีที่แล้ว

    I like it.

  • @neetamlimbu5335
    @neetamlimbu5335 7 ปีที่แล้ว

    Awesome

  • @KDOERAK
    @KDOERAK 5 ปีที่แล้ว

    a great talk

  • @leeyomwang1834
    @leeyomwang1834 7 ปีที่แล้ว

    so cool

  • @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?

  • @dorbsz
    @dorbsz 6 ปีที่แล้ว

    Anyone know the editor he uses?

  • @minjee9942
    @minjee9942 3 ปีที่แล้ว

    @45:20 you could have used Supplier right? still makes the point he was trying to make

  • @AndiRadyKurniawan
    @AndiRadyKurniawan 8 ปีที่แล้ว +12

    What editor is this?

    • @kendallm
      @kendallm 7 ปีที่แล้ว +5

      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 ??

  • @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.

  • @friesmaker
    @friesmaker 3 ปีที่แล้ว

    This makes me excited to write code again hahaha

  • @giladbaruchian7522
    @giladbaruchian7522 7 ปีที่แล้ว +3

    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

  • @DarthCane
    @DarthCane 5 ปีที่แล้ว +1

    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

  • @antimojv
    @antimojv 5 ปีที่แล้ว +11

    "In java 7 or early if you want to use a strategy pattern you often organize a corporate design meeting" lol ahahaahahahahah!

  • @dupindersingh1599
    @dupindersingh1599 4 ปีที่แล้ว

    What IDE he is using ?

  • @vijayjayaram606
    @vijayjayaram606 3 ปีที่แล้ว

    U r GOD 🙏🏼🙏🏼🙏🏼🙏🏼🙏🏼

  • @easonsolitud6098
    @easonsolitud6098 4 ปีที่แล้ว

    and if you really think about it

  • @maitreeee
    @maitreeee 3 ปีที่แล้ว

    8:20 made me laugh

  • @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.

  • @Adventurevictoria
    @Adventurevictoria 5 ปีที่แล้ว +2

    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.

  • @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 🤯

  • @0blackmilk0
    @0blackmilk0 6 ปีที่แล้ว +1

    Man! Go Slow.

  • @mannysingh6618
    @mannysingh6618 5 ปีที่แล้ว +1

    Venkat, you don't need to put on such a sharp accent, it does not sound natural. An Indian accent is fine.

  • @ArisAlamanos
    @ArisAlamanos 7 ปีที่แล้ว +4

    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 ปีที่แล้ว +5

      classic straw man argument

    • @raman2072
      @raman2072 6 ปีที่แล้ว +2

      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?"