1 / 13

Принципи на обектно-ориентиран дизайн

Принципи на обектно-ориентиран дизайн. Общи бележки. Бележка-1: Ако е необходимо, се правят диаграми (UML-диаграми  или помощни диаграми) за обясняване на принципите на ОО дизайн.

dean-parker
Download Presentation

Принципи на обектно-ориентиран дизайн

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Принципи на обектно-ориентиран дизайн

  2. Общи бележки Бележка-1: Ако е необходимо, се правят диаграми (UML-диаграми  или помощни диаграми) за обясняване на принципите на ОО дизайн. Бележки-2: Глава 3 е тясно свързана с материала за ООП, изложен в глава 2 "Принципи и техники на ООП". Затова е добре преди да се започне писането на тази глава, да се разгледа структурата и съдържанието на глава 2.  Помощната презентация(записките) към глава 2 също може да бъде от полза.

  3. Обектно ориентиран дизайн 1) За това какво представляват принципите за обектно-ориентиран дизайн +  разликата в двете понятия "принципи за дизайн" и "шаблони за дизайн" виж двата абзаца в objectMentor: http://www.objectmentor.com/omSolutions/oops_what.html 2) За това какво представляват принципите за обектно-ориентиран дизайн прочетете встъпителните бележки на "Section II: Agile Design" от PPP-книгата на Robert C. Martin.

  4. Признаци за лош обектно-ориентиран дизайн 1) За кратките обяснения на признаците (които се правят в списъка с признаци) вижте встъпителните бележки на "Section II: Agile Design" от PPP-книгата на Robert  Martin. 2) Източници: "Principles_and_Patterns.pdf" Link -> http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf

  5. Кохезия и свързаност (1) Бележка-превод: да помислим за превода на 2-те понятия. В wikipedia са преведени "кохезия" и "свързаност". Този превод ми звучи по-добре от превода в IntroJava-книгата. От личен опит да споделя, че като ги учих от IntroJava книгата и до момента не съм запомнил превода, защото звучи сложно и дълго.

  6. Кохезия и свързаност (2) Източници: 1. SCJP-book, chapter 2 2. IntroJava-book, chap.20 3. Wikipedia 3.1) Кохезия -> http://bg.wikipedia.org/wiki/%D0%9A%D0%BE%D1%85%D0%B5%D0%B7%D0%B8%D1%8F 3.2)Свързаност -> http://bg.wikipedia.org/wiki/%D0%A1%D0%B2%D1%8A%D1%80%D0%B7%D0%B0%D0%BD%D0%BE%D1%81%D1%82 3.3) Loose coupling -> http://en.wikipedia.org/wiki/Loose_coupling 3.4) Cohesion -> http://en.wikipedia.org/wiki/Cohesion_%28computer_science%29

  7. Програмиране по интерфейс, не по имплементация Източници:  GoF book, chap.1,p.17-18

  8. Предпочитайте композиция пред наследяване Източници: GoF book, chap.1,p.18-20

  9. SOLID - принципи (1) Ресурси за SOLID-принципите: 1) PPP-book на Робърт Мартин, Section ІІ, chap.8-12 2)"Principles and Patterns" pdf-file: http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf 3)UncleBob: http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod 4) OODesign: http://www.oodesign.com/design-principles.html 5) ObjectMentor: http://www.objectmentor.com/omSolutions/oops_what.html 6) http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign

  10. SOLID - принципи (2) Бележки: 1) Хубаво ще бъде да има диаграми при описание на SOLID-принципите, както е направено тук:Link1 -> "Principles and Patterns" pdf-file: http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf 2) Когато се прави кракто резюме на всеки от SOLID-принципите, може да се използват следните два източника, при които са направени такива резюмета: Link1 -> "Principles and Patterns" pdf-file: http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdfLink2 -> OODesign: http://www.oodesign.com/design-principles.html

  11. SOLID - принципи (3) 3) За принципа "Open/Closed Principle" може да се спомене, че се използва в Spring MVC и по-точно в API-то за Controller. Виж книгата: "Expert Spring MVC And Web Flow - Apress 2006", chap.6 "The Controller Menagerie"

  12. Полезни източници (1) • GoF-книгата"Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides • PPP-книгата на Робърт Мартин"Agile Principles, Patterns, and Practices in C#", 2006, Robert C. Martin and Micah Martin • IntroJava-книгата"Въведение в програмирането с Java" ->http://www.introprogramming.info/intro-java-book/ • SCJP-книгата"SCJP-книгата Sun Certified Programmer for Java 5 Study Guide", Kathy Sierra and Bert Bates

  13. Полезни източници (2) 5. "Principles and Patterns" pdf-file: http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf 6. OODesign: http://www.oodesign.com/design-principles.html 7. UncleBob: http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod 8. ObjectMentor: http://www.objectmentor.com/omSolutions/oops_what.html 9. http://c2.com/cgi/wiki?PrinciplesOfObjectOrientedDesign

More Related