Database Guy Asks: Object-Oriented Design Theory?

前端 未结 14 592
深忆病人
深忆病人 2021-02-04 20:34

I\'ve worked with designing databases for a loooong time, and these days I\'m working in C# too. OO makes sense to me, but I don\'t feel that I have a good grounding in the dee

相关标签:
14条回答
  • 2021-02-04 20:44

    I really liked Head First Design Patterns, which is very approachable, and the excellent Object oriented Design Heuristics by Arthur J. Riel

    0 讨论(0)
  • 2021-02-04 20:45

    This site lists 101 title... design patterns, refactoring and other... Have a look at it.. It will be a good starting point...

    0 讨论(0)
  • 2021-02-04 20:46

    You should look at UML, which is an entire process given to OOD.

    I'd recommend getting a book (or a couple), because the theory is quite large, most people pick and choose the techniques most appropriate for the project at hand.

    0 讨论(0)
  • 2021-02-04 20:56

    Check the results of this. Learn from each question.

    0 讨论(0)
  • 2021-02-04 20:56

    Go for Object Thinking by David West. An interesting read..
    You're from the dark side though.. as per the book;) Database thinking has been the curse of OO programmers all over. They're opposite ends of a spectrum. For instance

    • Database thinking values the data attribues over everything else.. normalization and creating types based on how they fit into the DB Schema OR the ER diagram.. OO thinking creates types based on behavior and collaboration and does not recognize the data attributes as all important.
    • Databases come from the scientific people who value formalization and method over everything else. OO comes from the people who use heuristics and rules of thumb and value individuality and social interaction over a hard and fast process.

    The point being a COBOL programmer can write COBOL programs even after moving onto a OO Language. Check out any book like Thinking in Java for the first section which invariably details out the tenets of OO (Apprentice).. Follow it up with Object Thinking (journeyman) and in due time.. a master.

    0 讨论(0)
  • I think Agile Software Development, Principles, Patterns, and Practices is quite good.

    It provides a lot of in-depth disccusion of OO principles listed here:

    • The principles of Object Oriented Design and Dependency Management
    • SRP — The Single Responsibility Principle
    • OCP — The Open Closed Principle
    • LSP — The Liskov Substitution Principle
    • DIP — The Dependency Inversion Principle
    • ISP — The Interface Segregation Principle
    • REP — The Reuse Release Equivalency Principle
    • CCP — The Common Closure Principle
    • CRP — The Common Reuse Principle
    • ADP — The Acyclic Dependencies Principle
    • SDP — The Stable Dependencies Principle
    • SAP — The Stable Abstractions Principle
    0 讨论(0)
提交回复
热议问题