{"id":22164,"date":"2023-02-22T07:18:43","date_gmt":"2023-02-22T07:18:43","guid":{"rendered":"https:\/\/www.booksofall.com\/?post_type=product&#038;p=22164"},"modified":"2023-02-22T07:18:43","modified_gmt":"2023-02-22T07:18:43","slug":"building-skills-in-object-oriented-design","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/","title":{"rendered":"Building Skills in Object-Oriented Design"},"content":{"rendered":"<h4>Why Read This Book?<\/h4>\n<p>The coffee-shop reason for reading this book is to provide the beginning designer with a sequence of interesting and moderately complex exercises in OO design.<\/p>\n<p>If that\u2019s all you needed to know, skip to the next chapter. It\u2019s okay. We don\u2019t mind.<\/p>\n<p>The Problem. Some software developers find themselves stalled when trying to do <a href=\"https:\/\/en.wikipedia.org\/wiki\/Object-oriented_programming\">object-oriented (OO) design<\/a>. As programmers, they\u2019ve understood the syntax of a programming language, and pieced together small examples. However, it is often difficult to take the next step to become a designer. The transition from guided learning of language features to self-directed design work is often ignored. Programmers are left to struggle through their first design projects without appropriate skills or support.<\/p>\n<p>This may be you. You\u2019ve learned the language, but you can\u2019t take the next step.<\/p>\n<p>While it is critically important to read examples of good design, a finished product doesn\u2019t reveal the author\u2019s decision-making process that created the design. There\u2019s little support that helps a programmer come to understand the design process that leads to a final product.<\/p>\n<p>The most notable consequence of this skills gap is some n00b programmers will create of software that is far more complex than necessary to effectively solve a given problem. This, in turn, leads to software with high maintenance costs stemming from the low quality. It also leads to an unfair indictment of <a href=\"https:\/\/www.gartner.com\/en\/information-technology\/glossary\/oot-object-oriented-technology\">OO technology<\/a>; this is usually voiced as \u201cwe tried OO programming and it failed.\u201d<\/p>\n<p><a href=\"https:\/\/www.healthline.com\/health\/mental-health\/unrealistic-expectations\">Unrealistic Expectations<\/a>. As programming team leaders, educators and consultants, we find that software development training is focused on the programming tools, but does not expose the process of creating a design. We all start out building software designed by someone else. What\u2019s involved in design?<\/p>\n<p>In the building trades, we would neither expect nor allow apprentice plumbers to design the sanitary sewage system for an urban office building. Yet, in too many <a href=\"https:\/\/www.jobs.net\/article\/cb-214-talent-network-it-the-it-department-what-they-do-vs-what-everyone-thinks-they-do\/#:~:text=The%20IT%20department%20oversees%20the,that%20the%20network%20runs%20smoothly.\">Information Technology (IT) departments<\/a>, software developers are expected to leap from basic training in their tools to application design.<\/p>\n<p>To continue this rant, we also find that some managers are entrusted with significant projects, but are uncomfortable with OO design on modern high-performance hardware. They tend to focus their design energies on the kinds of software architectures that were appropriate when the enterprise owned a single computer, when 64 megabytes of memory was all the enterprise would ever need, and centralized disk storage was charged back to end user departments at a rate of pennies per track per month. In some organizations, there are a few enduring symptoms of this mind set in some of the ways that \u201cend-user computing\u201d is separated from \u201centerprise computing\u201d; we relegate everything non-mainframe to second class status.<\/p>\n<p>Management discomfort with OO technology surfaces in many ways. One shocking comment was that \u201cno application needs more than six classes.\u201d A consequence of this management attitude is an unrealistic expectation for schedule and the evolution of the deliverables.<\/p>\n<p>Closing the Skills Gap. The deepeer answer on the intent of this book is to help you, the beginning designer, by giving you a sequence of interesting and moderately complex exercises in OO design. The exercises are not focused on a language, but on a design process. The exercises are not hypothetical, but must lead directly to working programs.<\/p>\n<p>The long answer is that this book will make you work.<\/p>\n<p>This book can also help managers develop a level of comfort with the process of <a href=\"https:\/\/www.tutorialspoint.com\/object_oriented_analysis_design\/ooad_object_oriented_system.htm\">OO software development<\/a>. The applications we will build are a step above trivial, and will require some careful thought and design. Further, because the applications are largely recreational in nature, they are interesting and engaging. This book allows the reader to explore the processes and artifacts of OO design before project deadlines make good design seem impossible.<\/p>\n<p>We hope to prevent managers from saying the following: \u201cWe had a good design, but were forced to compromise it to meet our schedule.\u201d As consultants, we find this to be a sad statement of management\u2019s emphasis of one near-term goal over long-term value. In one case, this was the result of a series of poorly-informed management decisions compounded on weak design skills. One of the root causes was the inability of the designers and managers to agree to a suitable course of action when a new kind of requirement made devastating changes to an existing design. We believe that more informed managers would have made a decision that created better long-term value.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><iframe style=\"width: 100%; height: 700px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/share\/book\/buildingskillsinoodesign-19la2pe2co?enforceShowPromotionBar=true&amp;p=1\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"featured_media":22168,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":""},"product_brand":[],"product_cat":[275],"product_tag":[],"class_list":{"0":"post-22164","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-python","8":"first","9":"instock","10":"shipping-taxable","11":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Building Skills in Object-Oriented Design - BooksOfAll Portuguese<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building Skills in Object-Oriented Design - BooksOfAll Portuguese\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll Portuguese\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png\" \/>\n\t<meta property=\"og:image:width\" content=\"478\" \/>\n\t<meta property=\"og:image:height\" content=\"638\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/\",\"url\":\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/\",\"name\":\"Building Skills in Object-Oriented Design - BooksOfAll Portuguese\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png\",\"datePublished\":\"2023-02-22T07:18:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png\",\"width\":\"478\",\"height\":\"638\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/pt\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Building Skills in Object-Oriented Design\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/pt\/#website\",\"url\":\"https:\/\/www.booksofall.com\/pt\/\",\"name\":\"BooksOfAll Portuguese\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/pt\/#organization\",\"name\":\"BooksOfAll Portuguese\",\"url\":\"https:\/\/www.booksofall.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.booksofall.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll Portuguese\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/pt\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building Skills in Object-Oriented Design - BooksOfAll Portuguese","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/","og_locale":"pt_PT","og_type":"article","og_title":"Building Skills in Object-Oriented Design - BooksOfAll Portuguese","og_url":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/","og_site_name":"BooksOfAll Portuguese","og_image":[{"url":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png","type":"","width":"","height":""},{"width":478,"height":638,"url":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png","twitter_misc":{"Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/","url":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/","name":"Building Skills in Object-Oriented Design - BooksOfAll Portuguese","isPartOf":{"@id":"https:\/\/www.booksofall.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png","datePublished":"2023-02-22T07:18:43+00:00","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#primaryimage","url":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png","contentUrl":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/02\/img_63f5bffbe6caa.png","width":"478","height":"638"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/pt\/building-skills-in-object-oriented-design\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/pt\/categories\/"},{"@type":"ListItem","position":3,"name":"Building Skills in Object-Oriented Design"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/pt\/#website","url":"https:\/\/www.booksofall.com\/pt\/","name":"BooksOfAll Portuguese","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/pt\/#organization","name":"BooksOfAll Portuguese","url":"https:\/\/www.booksofall.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.booksofall.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/pt\/wp-content\/uploads\/sites\/8\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll Portuguese"},"image":{"@id":"https:\/\/www.booksofall.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/product\/22164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/media\/22168"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/media?parent=22164"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/product_brand?post=22164"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/product_cat?post=22164"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/pt\/wp-json\/wp\/v2\/product_tag?post=22164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}