Object Oriented Design 5

[ad_1]
Sequence Diagram is Here:

In this video I continue building my ATM software using Object Oriented Design principles. If you missed the beginning of this tutorial, check those videos out.

I take you through the creation of a sequence diagram using all of the diagrams I made before it. The sequence diagram made in the video is available in the link above.


Posted

in

by

Tags:

Comments

34 responses to “Object Oriented Design 5”

  1. fathima ganie Avatar

    I've watched all. They were very helpful.
    Thank you

  2. Gonzalo Martinez Avatar

    +Derek Banas is a God, i saw all videos of Design Patterns and now i see the Object Oriented Design is Perfect 😛 

  3. Derek Banas Avatar

    If anyone has any questions I can only answer them if you post them on my website or through Google +. Sorry but it is out of my hands.

  4. TheRoxas13th Avatar

    This is so exciting. I'm looking forward to create my first object oriented app. I hope Sir Derek will actively answer the question about this particular subject.

  5. Arjun goalset Avatar

    fantastic… i am planning to approach to projects the way to do it down the road!! cheers..

  6. Derek Banas Avatar

    Sorry about the confusion

  7. Marko Vukolic Avatar

    Thank you Derek. At 9:53, it seems that you reused BankNetwork's method for BankComputer.

  8. Derek Banas Avatar

    isATMCardsBankInNetwork is a method in the ATM and BankNetwork class. It isn't needed anywhere else because after theTransaction is marked true for setDidTheCardVerify i can just check there for a verified card. Does that help?

  9. Marko Vukolic Avatar

    Hi Derek, I need a help. In this sequence diagram, you called findBankAssociatedWithCard(later you renamed to isAtmCardsBankInNetwork) in BankComputer class. In class diagram (video 7) there is no such a method in BankComputer. This method exist only in Atm and ComputerNetwork class. Is this a mistake you made or not. Thank you Derek.

  10. VIET TRAN Avatar

    That makes sense. Thanks.

  11. VIET TRAN Avatar

    your OOD tutorials are awesome! I never seen any tutorial that teach people how to code from simple to complex scenarios directly from sequence diagram. It' really an eye-opener:)

  12. Derek Banas Avatar

    In my opinion there isn't a benefit. I actually think if you force aggregation into a diagram it just gets in the way. I use my diagrams to improve understandability of the system. I then use many notes in the diagrams to improve further. I differ from many others in the number of notes I use. My main goal is to hand over a diagram and know that the programmer can follow it without asking me questions. I've never come across a situation in which an aggregation line would have helped further 🙂

  13. VIET TRAN Avatar

    Thank you for clarifying. As I understand there is no specific rule or method to apply when writing code for the class that can be an aggregation or a composition, so I just wonder what is the main purpose their definition is served ? what does it help when we define a class is either an aggregation or a composition class?

  14. Derek Banas Avatar

    Aggregation isn't as common as composition. I did my best to push an example here. In the real world I don't even use aggregation symbols in my diagrams because as you pointed out it is not always true that one object ceases to exist simply because another is destroyed. It all depends on whether the code ceases to use the object after another is destroyed. I've found if you use aggregation lines that it tends to clutter diagrams more than it helps

  15. VIET TRAN Avatar

    Sometime I'm confused about the "Aggregation vs Composition". According to your diagram, BankComputer "owns" an Account (aggregation), but if BankComputer is ceased to exist, then Account should be destroyed too, but it does not because it layout as an aggregation(?)

  16. Derek Banas Avatar

    Thank you 🙂 I do my best. It is very nice to be able to help people all over the world

  17. Jason van heyningen Avatar

    Basic(world,i, j, k,par5EntityPlayer,par6 par7, par8, par9);
    Basic(World , int int , int , EntityPlayer , int , float , float , float )
    either of these don't work 🙁

  18. Jason van heyningen Avatar

    I have been trying that but when i put them between the brackets then is says it does not know the variables. sorry for bothering.
    I'll keep trying!

  19. Derek Banas Avatar

    I really want to cover audioprocessing and I have that planned for when I get into AI with Java. Thank you very much for the request 🙂 I'll do my best

  20. Mario Baumann Avatar

    I'm workin with ausioprocessing in max/msp and i'll try programming in java. It would be so nice if you could do a short turtorial for java in max or just general audioprocessing…

    Thanks a lot for your other turtorials! They are great!

    Cheers

  21. Derek Banas Avatar

    I see the problem now. You set basic() up to receive 9 attributes between the ()s

    So if you call basic you have to send those values to it, or it will throw an error. You can't call basic unless you define a basic method without attributes. Does that make sense now?

  22. Jason van heyningen Avatar

    Oke, I simply created a public void in a class:
    public static void Basic(World world, int i, int j, int k, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)

    lateron, in another void: public void actionPerformed(GuiButton guibutton)
    I did:
    if (BlockCustomHouse.create == true){ basic();}

    the error is: that basic(with all agrumenst )is not aplicatable for basic()
    must I place any code somewhere else or make a change? thanks for helping me!

  23. Derek Banas Avatar

    Give me some sample code. I'm a bit confused by what you're doing, but some code will clear it up

  24. Jason van heyningen Avatar

    I forgot to mension that where i recall it is within another public void, does this make a difference?

  25. Jason van heyningen Avatar

    When I call the public void static, it does not allow me to and still has unidentified variables. Could you please tell me quick how to make a class an object. thank you very much though.

  26. Derek Banas Avatar

    I forgot to mention if you called basic() from inside of the class it is defined in you could call basic() without using className.basic()

    Sorry I forgot to say that 🙂

  27. Derek Banas Avatar

    Thank you 🙂 Unless you define the method as static you can't call it with basic()

    You'd have to create a object of that class and then call objectsName.basic()

    If it was a static method though you could call it with className.basic() Does that help?

  28. Jason van heyningen Avatar

    This might be irrelevant but I am stuck with some java:
    I made a public void:

    public void basic(World world, int i, int j, int k, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)

    How can I recall this in the same class? basic() does not work.

    Please help me. You are an amazing programmer.

  29. Derek Banas Avatar

    Thank you SawMan 🙂

  30. Derek Banas Avatar

    Eu estou usando un traductor. Eu adoitaba ser capaz de falar alemán e eu podía ler alemán e chinés. Eu esquezo case todo agora

  31. Alex Chaplianka Avatar

    usando un dicionario en liña? son é vostede flueny en calquera idioma?

  32. Derek Banas Avatar

    Спасибо большое за добрі думки. Бог благословить вас і вашої родини. Я дуже рада, що вам подобається моє відео. Чим складніше вони стають, тим менше в мене буде дивитися. Я буду робити все можливе, щоб виконати ваші запити з можливістю в мене є.

  33. 123japanuser Avatar

    Щасливий тренер вихідні,

    Просто сподівався, що ваш канал подарунок, який ніколи не вичерпується.

    , Безсумнівно, мають вихідні подарунок.

    Бог willingone день ми будемо мати Struts 2, а 🙂

    Також, до речі, я виграв золото знову, дуже пощастило, напевно, тому в п'ятницю ввечері всі користуються. Його тільки я і мій улюблений канал.

    God Bless і щирої подяки від тих вимагаючи студента.

Leave a Reply

Your email address will not be published. Required fields are marked *