Abstract Factory Design Pattern

Sdílet
Vložit
  • čas přidán 4. 06. 2024
  • Text version of the video
    csharp-video-tutorials.blogspo...
    Healthy diet is very important both for the body and mind. If you like Aarvi Kitchen recipes, please support by sharing, subscribing and liking our CZcams channel. Hope you can help.
    / @aarvikitchen5572
    Slides
    csharp-video-tutorials.blogspo...
    Design Patterns Tutorial playlist
    • Design Patterns tutori...
    Design Patterns Text articles and slides
    csharp-video-tutorials.blogspo...
    All Dot Net and SQL Server Tutorials in English
    czcams.com/users/kudvenka...
    All Dot Net and SQL Server Tutorials in Arabic
    / kudvenkatarabic
    In this session we will learn
    1. What is Abstract Factory Design Pattern
    2. Implementation Guidelines
    3. Abstract factory implementation
    4. Differences between Factory Method and Abstract Factory Pattern
    What is Abstract Factory Design Pattern
    Gang Of Four Definition : "The Abstract factory pattern provides a way to encapsulate a group of individual factories that have a common theme without specifying their concrete classes"
    The Abstract Factory Pattern provides an interface for creating families of related or dependent objects without specifying their concrete classes
    Abstract Factory pattern belongs to creational patterns and is one of the most used design patterns in real world applications
    Abstract factory is a super factory that creates other factories
    Implementation Guidelines
    We need to Choose Abstract Factory Pattern when
    1. The application need to create multiple families of objects or products
    2. We need to use only one of the subset of families of objects at a given point of time
    3. We want to hide the implementations of the families of products by decoupling the implementation of each of these operations
    Business Requirement : Handout computers to Contract and Permanent employees based on the designation and employee type with below specifications
    Permanent Employee
    1. Managerial Position is eligible for Apple MAC Book Laptop
    2. Non Managerial Position is eligible for Apple IMac desktop
    Contract Employee
    1. Managerial Position is eligible for Dell Laptop
    2. Non Managerial Position is eligible for Dell desktop
    Abstract Factory Representation
    1. Client is a class which use AbstractFactory and AbstractProduct interfaces to create a family of related objects.
    2. AbstractFactory is an interface which is used to create abstract product
    3. ConcreteFactory is a class which implements the AbstractFactory interface to create concrete products.
    4. AbstractProduct is an interface which declares a type of product.
    5. ConcreteProduct is a class which implements the AbstractProduct interface to create product.
    Difference between Abstract Factory and Factory Method
    1. Abstract factory pattern adds a layer of abstraction to the factory method pattern
    2. Abstract factory pattern implementation can have multiple factory methods
    3. Similar products of a factory implementation are grouped in Abstract factory
    4. Abstract Factory uses object composition to decouple applications form specific implementations
    5. Factory Method uses inheritance to decouple applications form specific implementations
  • Věda a technologie

Komentáře • 47

  • @chandanasoundararajan8790

    you explains very well for singleton and factory pattern. But starting from Factory method pattern you stopped explaining at all why you are doing this. you just saying loud what you are typing and running the program. please give appropriate reason for why you are doing all this operations. it will be helpful for us in preparing for interviews.

  • @deepthireddy3267
    @deepthireddy3267 Před 5 lety

    Thanks for the patience and explanation. I have been struggling from years to understand diff between factory and abstract factory. Now it's clear ☺

  • @rsdntevl
    @rsdntevl Před 6 lety

    Really great example, most tutorials stop at the if/else statement for creating the concrete product. Connecting with the front end form made much more sense!

  • @govindarajkrishnan1933
    @govindarajkrishnan1933 Před 6 lety +2

    Hi Aviash
    You did a great job. It was wonderful video, you explained very clear and neatly. Now its easy to understand anyone have knowledge in the programming. Good job. Keep up the good job. Thanks again.

  • @HippieInHeart
    @HippieInHeart Před 2 lety

    Very good videos, my colleague recommended them to me and I already start to understand much more. Thanks for the very good and easy to understand explanations.

  • @enghazymeh9921
    @enghazymeh9921 Před 6 lety +2

    this is the best video tutorial in the youtube that explain this design pattern in a clear way , alot of thanks bro

  • @kamdemkakengne
    @kamdemkakengne Před 6 lety

    Thanks a lot for the video !

  • @naodagere8210
    @naodagere8210 Před 4 lety

    Thank you so much!Good job.

  • @sanjeevgaur1973
    @sanjeevgaur1973 Před 6 lety +13

    You didn't explain how come you immediate decided abstract pattern for this requirement? There should be some thought process which must be explained before start.

    • @rvnl0rd
      @rvnl0rd Před 4 lety

      It provides an abstract interface for creating many different Computer objects (depending on an Employee property values) while the creation itself is left to the respective conrete factories corresponding to the conrete computers. Factory itself corresponds to a SINGLE variant - this way the client (manager) by using single 'interface' can indirectly work with different objects (computers) and remain compatible with all of them.

  • @sumersinghrana8868
    @sumersinghrana8868 Před 6 lety

    Thanks for the video

  • @sunnydeck3954
    @sunnydeck3954 Před 6 lety +2

    Thanks for the video. Please make video for Repository pattern,Builder Pattern, Iteratory Pattern, Decorator Pattern

  • @raqibul1000
    @raqibul1000 Před 6 lety

    Thanks a Billions.

  • @dharmendrasharma3137
    @dharmendrasharma3137 Před 6 lety

    Thanks alot sir..

  • @harikrishna-gr8uz
    @harikrishna-gr8uz Před 6 lety

    Very much helpful

  • @trustingod0
    @trustingod0 Před 5 lety +3

    I notice that you dont reply to comments. Also I noticed you used interface. Do we use abstract classes with the Factory Method. If so I was wondering why? Thanks for your help !

  • @abhi80ind
    @abhi80ind Před 6 lety +6

    Please illustrate UML diagram of your example before jumping to Implementation.

  • @aaronaaronaaron5922
    @aaronaaronaaron5922 Před 5 lety

    you are cool, Avish!

  • @venkateshgupta5219
    @venkateshgupta5219 Před 4 lety

    Excellent video

  • @79manindar
    @79manindar Před 6 lety

    Sir, I am a. NET Developer just because of your videos, Please make a video series on MSBI.

  • @nagarjunapappula8139
    @nagarjunapappula8139 Před 6 lety +19

    I don't understand... only understand adding new items 😂

  • @satyammishra30
    @satyammishra30 Před 3 lety +2

    uffff that was a long ride. i am tried now.. bye

  • @madhugowda8732
    @madhugowda8732 Před 4 lety +3

    its little bit confusing ...

  • @aps7802
    @aps7802 Před 4 lety +12

    All he is doing is just keep adding interfaces and classes without any explanation.

  • @afsaraf1533
    @afsaraf1533 Před 3 měsíci

    Does people use this complex implementation in their projects🫡

  • @8uddishh
    @8uddishh Před 6 lety

    I understand the simplicity part of it, and it should cover beginners... Albeit that being said please do not use methods in interfaces when a property can be used... thanks

  • @sailutummuru7343
    @sailutummuru7343 Před 6 lety +4

    Thanks for making this video. But lot of confusion. Not understand very well...

  • @rahulsharmanew1
    @rahulsharmanew1 Před 3 lety

    Interface are by default public why we need to make interface public at 19.50?

  • @akhilarao6668
    @akhilarao6668 Před 4 lety +2

    Please be clear while explaining .u r are not very clear u r just adding this class that class it would be better if u can relate something real-time then go to business requirements .and also it would be lil clear if u briefly summarize of wat u have done in the whole video at last

  • @MrKaviraj75
    @MrKaviraj75 Před 4 lety +4

    looks tedious and slept in the middle of the video :D

  • @codeintermediate4529
    @codeintermediate4529 Před 3 lety +1

    Abstract factory pattern has been explained well in this video too - czcams.com/video/HcxhrAqEukc/video.html

  • @eliavmaman3203
    @eliavmaman3203 Před 4 lety +1

    "IComputerFactory factory= new SystemEmployeeFactory (employee)" ?!?!?!?!!? WTF?????

  • @MrAamir33
    @MrAamir33 Před 2 lety

    Avesh you are mostly reading from slides, & not explaining even if we go by your videos I am not sure whether i would be able to remember the concept or not.

  • @dgroh
    @dgroh Před 3 lety

    It was all good until the mess with IFs in the end =D

  • @mrinal2100
    @mrinal2100 Před 6 měsíci

    Half of the time he was coding and I got lost in multiple classes.

  • @ashutoshsingh7713
    @ashutoshsingh7713 Před 3 lety

    Not for beginners 💯✔

  • @kashishsingh4324
    @kashishsingh4324 Před 5 lety

    not for beginers

  • @RajeshYadav-tr1sr
    @RajeshYadav-tr1sr Před 3 lety +1

    why kud not made this video?? this guy is time waste...wasted time

  • @pedroreisbr
    @pedroreisbr Před 3 lety +1

    This class and this example is so bad, worst way to explain this concept. Must have confused a lot of people.

  • @begelmanleonid6754
    @begelmanleonid6754 Před rokem

    "GetSystemDetails" can be also a method of the IComputerFactory, than you dont need the EmployeeSystemManage