The Builder Pattern Part 1
24:29
2 жыл бұрын
The Two Pointer Technique
13:06
2 жыл бұрын
LeetCode 1: TwoSum in Apex and Java
11:41
The Unit of Work Pattern in Apex
48:06
The Observer Pattern In Apex
30:38
2 жыл бұрын
Queueable Apex in Salesforce
26:02
3 жыл бұрын
The Strategy Pattern in Apex
27:45
3 жыл бұрын
Dependency Injection in Apex
23:30
3 жыл бұрын
Пікірлер
@sousys
@sousys 2 ай бұрын
Why make new lists for the dml? In both methods in the apex class you could just modify the Soql-result list or the input var and feed it into dml no?
@JodieMiners
@JodieMiners 2 ай бұрын
Great video. I would love to see part 2.
@jegjojo16
@jegjojo16 3 ай бұрын
the way you explain things just clicks for me vs the other learning tools I've tried. Thanks for making these videos.
@adamregier
@adamregier 4 ай бұрын
Working my way through this after being recommended this playlist. Great video. Simple, and easy to understand for a newbie like me.
@josueramirez7247
@josueramirez7247 6 ай бұрын
The main takeaway for me is that the `virtual` keyword has to be typed when writing a class or writing a method so that subclasses can be built for the class and so specifically marked methods can be overridden. Still a bit unclear how the `abstract` keyword relates to inheritance and how static variables and methods might come into play too.
@M1SHAKEBR
@M1SHAKEBR 6 ай бұрын
Hi, could you share your IDE configs? I love how you can do all from the JetBrains i dont know how to do the same at vscode. A tab for apex anonymous, tests and etc.
@recepatabinen
@recepatabinen 8 ай бұрын
merci
@cassioorsi
@cassioorsi 8 ай бұрын
I always come back to these videos from time to time... and every time I do, these patterns make more sense.
@AndrewMayes-o9g
@AndrewMayes-o9g 8 ай бұрын
thanks for being honest about how you didnt account for the equal variables. that really helps me understand the process better.
@AndrewMayes-o9g
@AndrewMayes-o9g 8 ай бұрын
still training those patterns
@kalyanv4437
@kalyanv4437 8 ай бұрын
Hi, Thanks for sharing your expertise. You mentioned that we cannot use type class to instantiate, if the class being instantiated has constructor(s). I'm wondering how would we instantiate the class in such a case. Any advice is greatly appreciated. Best
@stressbuster3113
@stressbuster3113 9 ай бұрын
How can i contact you Brooks
@salesforcedev1232
@salesforcedev1232 9 ай бұрын
This is by far the best channel on Apex development. Thank you so much sir! You inspired me to teach Salesforce but in Spanish! Have a nice day!
@levon9
@levon9 9 ай бұрын
Very cool .. thank you for sharing. Will look for more good stuff from you :)
@swapnildarakhe9857
@swapnildarakhe9857 10 ай бұрын
This is one of the most important concepts because we keep passing arguments and yet think everything is pass by value 😂 Till we get to know about this topic. I misunderstood this because I thought the scope of a variable is till that method only hence it must be creating a copy of that passed arguments
@softwareengineeringandsale4005
@softwareengineeringandsale4005 9 ай бұрын
glad you enjoyed it
@Victor-j5y1v
@Victor-j5y1v 10 ай бұрын
I appreciate how you keep mentioning how apex is owned by Marc Benioff 😂
@Victor-j5y1v
@Victor-j5y1v 10 ай бұрын
I appreciate how you keep mentioning how Apex belongs to Marc Benioff 😂
@DeezNardsX
@DeezNardsX 11 ай бұрын
This was a great video to review before my software design final. Thank you for explaining the concepts so easily!
@softwareengineeringandsale4005
@softwareengineeringandsale4005 9 ай бұрын
Glad it was helpful!
@azaramirli2601
@azaramirli2601 Жыл бұрын
Uncle Dana White :)
@massimotarquini1168
@massimotarquini1168 Жыл бұрын
Great video. One question though; would you write your actual logic in the child class correct (leadTriggerHandler in your example)? How would you handle though multiple logics that will need to happen in the afterInsert event for example? I doubt that you would write everything into the afterInsert method as you will end up with an endless method. Would you use UtilityClass (leadUtility) that will be called by the child class and will be in charge of the actual logic? thanks
@softwareengineeringandsale4005
@softwareengineeringandsale4005 9 ай бұрын
Great question about separation of concerns. If that business logic was SObject specific , validation of a lead, for example, I would place it in a domain class. Otherwise it should go to a service class where that business logic is caller agnostic. Easily accessible not just from trigger context but Batch, Queueable, Rest and so.
@MrWorstnameever
@MrWorstnameever 2 ай бұрын
@@softwareengineeringandsale4005 Would you happen to have an example of that? Of a domain class and / or service called from a trigger? Thanks in advance!
@MrWorstnameever
@MrWorstnameever 2 ай бұрын
@@softwareengineeringandsale4005 And one more more question lol (sorry, I'm learning) Is LeadHelloWorlder considered a domain class? and if you want to perform more actions on a lead from a trigger, could you just add more methods to that class?
@henrykhosasih8781
@henrykhosasih8781 Жыл бұрын
Very well explained. Took me years to understand this, your video cleared all up in 20 minutes
@softwareengineeringandsale4005
@softwareengineeringandsale4005 9 ай бұрын
wow thsnks
@henrykhosasih8781
@henrykhosasih8781 Жыл бұрын
Thank you!
@henrykhosasih8781
@henrykhosasih8781 Жыл бұрын
You make it looks so easy! Thanks mate
@Dr.Octopus_txt
@Dr.Octopus_txt Жыл бұрын
the semi column lol
@petargechev1852
@petargechev1852 Жыл бұрын
The man is back! 🥳🥳🥳
@mayes596
@mayes596 Жыл бұрын
literally watched this series in order.. no idea how the component was nested. Didn't show the xml file.. didn't explain any of that.. it was just all of a sudden nested. How do we follow along with that? Do you at least have source code somewhere?
@jayantsande
@jayantsande Жыл бұрын
Mr. Brooks, this is great channel ! If you could also shed light on Recursion of Triggers that will be great series to watch
@cassioorsi
@cassioorsi Жыл бұрын
Great content!!
@shmidafamily9304
@shmidafamily9304 Жыл бұрын
Excellent explanation Brooks! Would love to see more from this kind of videos
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
thank you
@makogenkei
@makogenkei Жыл бұрын
Glad to see you back Brooks! I truly enjoy your content!
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
thanks so much
@gomutpinewalarandikabacha6749
@gomutpinewalarandikabacha6749 Жыл бұрын
Plz explain in apex developer console nothing is working 😒
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
I would recommend learning something other than the dev console. It is not a tool for professional development.
@GC-rg7nc
@GC-rg7nc Жыл бұрын
Great video! Thank you for creating it. Looks like the link to the github code is not there anymore, will you be able to upload it again so that it can be referenced in the future?
@victordeoliveira344
@victordeoliveira344 Жыл бұрын
Amazing example! Thanks!
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
My pleasure!
@manisha6481
@manisha6481 Жыл бұрын
What about running the loop n-1 to 1, that way we need not reverse and directly convert list to string?
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
i think i explain in the video that in production code you would always call String.reverse but these are common interview questions to show you can solve basic problems if a certain language feature ceased to exist
@manisha6481
@manisha6481 Жыл бұрын
Not sure why, but factorial(998) also results in error. factorial(999) -> makes 999 recursive calls and the function thats calling also takes 1 stack space, but not sure why 998 fails.
@Pieppe18
@Pieppe18 Жыл бұрын
You are amazing, will you do the java stream in apex? Since Salesforce doesnt want to add it ahaha
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
hey I really appreciate it. I’m currently doing a masters program in software development and have 0 time for content creation on KZbin unfortunately
@TheHpmohan
@TheHpmohan Жыл бұрын
Isn’t this the factory pattern?
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
swapping the payment systems at run time is more of a strategy pattern. But you might use a simple factory to create your payment systems
@TheHpmohan
@TheHpmohan Жыл бұрын
@@softwareengineeringandsale4005 That clarifies it. Thank you.
@shabareess.k1213
@shabareess.k1213 Жыл бұрын
Hello, Great video. Just a small doubt, List<Integer> should be an primitive data type right ? Why is it treated as non primitive data type here ? Thanks in advance
@softwareengineeringandsale4005
@softwareengineeringandsale4005 Жыл бұрын
Hi i have not looked at this video in a long time but i expect your confusion is that a List is not a primitive even if it points to all primitive types
@extremeweirdness1528
@extremeweirdness1528 Жыл бұрын
I was about to skip this video thinking I knew the basics pretty well. I am a dumbass didn't know you can have multiple constructors just like multiple functions with the same name(function overloading). Glad I didn't skip the video.
@mayes596
@mayes596 Жыл бұрын
these are great Brooks! Im going to try and go through every one of these you make. Both for job interviews and for general knowledge. Thanks!
@tomislavsente6936
@tomislavsente6936 Жыл бұрын
Amazing content, thank you very much! :)
@devchannel2371
@devchannel2371 Жыл бұрын
This was great explanation. Thanks a lot 🙏
@jamilyakareem3263
@jamilyakareem3263 Жыл бұрын
Hello! Please can you share how your System.debug pop up when you type sd???
@kumar.anupam
@kumar.anupam Жыл бұрын
Critical concept explained nicely!!
@carloscicero6625
@carloscicero6625 Жыл бұрын
Hi Brioks, grest videos! One question regarding the factory class, since we are making the query inside get discount wouldnt that fail when inserting 151 opp? Is the factory method must to be static or is possible to use another pattern to make those queries? Thanks
@HarsOnCloud
@HarsOnCloud Жыл бұрын
what is time complexity of this approach?
@ripwind
@ripwind Жыл бұрын
2x where x is the size of the array being evaluated
@madhanprabhu3733
@madhanprabhu3733 Жыл бұрын
Really enjoyed and it is insightful 🙂 There is one issue with the code. The return Map<String, Integer>{ globalString=> globalMax} will always have one value. What happens if the list had two words with same number of counts.
@samarthdhroov
@samarthdhroov Жыл бұрын
The heap size as mentioned by apex guide is 6 MB and 12 MB for sync and async respectively. What is the size for stack ?
@VictorvanDijkNL
@VictorvanDijkNL Жыл бұрын
There is a small error in the code. A list with just one word, will not result in the correct outcome. It will return '' -> 1. To get it working, globalMax should be set to 0 initially.
@ripwind
@ripwind Жыл бұрын
Was just about to comment on this also. 😊
@Nbdy1h3moneil4qw57b
@Nbdy1h3moneil4qw57b Жыл бұрын
thank you sir for this explication, it really very helpful