OO Software Design Principles

后端 未结 8 588
梦毁少年i
梦毁少年i 2020-12-23 20:00

I am a huge fan of software design principles such as SOLID and DRY. What other principles exist for OO software design?

Note. I’m

相关标签:
8条回答
  • 2020-12-23 20:51

    High Cohesion - How focused are the responsibilities of the modules you are designing.

    Low Coupling - The degree to which modules rely on other modules.

    0 讨论(0)
  • 2020-12-23 20:52

    A fairly comprehensive list from Wikipedia:

    http://en.wikipedia.org/wiki/List_of_software_development_philosophies

    • Agile software development
    • Agile Unified Process (AUP)
    • Behavior Driven Development (BDD)
    • Big Design Up Front (BDUF)
    • Brooks's law
    • Cathedral and the Bazaar
    • Code and fix
    • Constructionist design methodology (CDM)
    • Cowboy coding
    • Crystal Clear
    • Design-driven development (D3)
    • Don't repeat yourself (DRY) or Once and Only Once (OAOO), Single Point of Truth (SPoT)
    • Dynamic Systems Development Method (DSDM)
    • Extreme Programming (XP)
    • Feature Driven Development
    • Hollywood Principle
    • Iterative and incremental development
    • Joint application design, aka JAD or "Joint Application Development"
    • Kaizen
    • Kanban
    • KISS principle (Keep It Simple, Stupid)
    • Lean software development
    • Microsoft Solutions Framework (MSF)
    • Model-driven architecture (MDA)
    • Open source
    • Open Unified Process
    • Quick-and-dirty
    • Rational Unified Process (RUP)
    • Scrum
    • Smart (agile development)
    • Separation of concerns (SoC)
    • Service-oriented modeling
    • Software Craftsmanship
    • Software System Safety
    • Spiral model
    • Test-driven development (TDD)
    • Unified Process (UP)
    • V-Model
    • Waterfall model
    • Wheel and spoke model
    • Worse is better (New Jersey style, as contrasted with the MIT approach)
    • Xtreme
    • You Ain't Gonna Need It (YAGNI)
    • Zero One Infinity
    0 讨论(0)
提交回复
热议问题