{"id":7217,"date":"2022-06-06T01:27:13","date_gmt":"2022-06-06T01:27:13","guid":{"rendered":"https:\/\/www.booksofall.com\/ru\/?post_type=product&#038;p=7217"},"modified":"2022-06-15T02:51:33","modified_gmt":"2022-06-15T02:51:33","slug":"object-oriented-design-using-uml","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/","title":{"rendered":"Object-Oriented Design Using UML"},"content":{"rendered":"<p>Object-oriented design (OOD) techniques are now extremely popular:<\/p>\n<ul>\n<li>Inception in early 1980\u2019s and nearing maturity.<\/li>\n<li>Widespread acceptance in industry and academics.<\/li>\n<li>Unified Modelling Language (UML) became an ISO standard (ISO\/IEC 19501) in 2004.<\/li>\n<\/ul>\n<p><b>Object-oriented design<\/b>\u00a0is the process of planning a\u00a0<a title=\"Object-oriented programming\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object-oriented_programming\">system of interacting objects<\/a>\u00a0for the purpose of solving a software problem. It is one approach to\u00a0<a title=\"Software design\" href=\"https:\/\/en.wikipedia.org\/wiki\/Software_design\">software design<\/a>.<\/p>\n<h3><span id=\"Overview\" class=\"mw-headline\">Overview<\/span><\/h3>\n<p>An\u00a0<a title=\"Object (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object_(computer_science)\">object<\/a>\u00a0contains\u00a0<a title=\"Encapsulation (computer programming)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Encapsulation_(computer_programming)\">encapsulated<\/a>\u00a0data and procedures grouped together to represent an entity. The &#8216;object interface&#8217; defines how the\u00a0<a title=\"\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object_(computer_science)\">object<\/a>\u00a0can be interacted with. An object-oriented program is described by the interaction of these objects. Object-oriented design is the discipline of defining the\u00a0<a title=\"Object (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object_(computer_science)\">objects<\/a>\u00a0and their interactions to solve a problem that was identified and documented during\u00a0<a title=\"Object-oriented analysis and design\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object-oriented_analysis_and_design\">object-oriented analysis<\/a>.<\/p>\n<p>What follows is a description of the\u00a0<a title=\"Class-based programming\" href=\"https:\/\/en.wikipedia.org\/wiki\/Class-based_programming\">class-based<\/a>\u00a0subset of object-oriented design, which does not include\u00a0<a title=\"Prototype-based programming\" href=\"https:\/\/en.wikipedia.org\/wiki\/Prototype-based_programming\">object prototype-based<\/a>\u00a0approaches where objects are not typically obtained by instantiating classes but by cloning other (prototype) objects. Object-oriented design is a method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as state and dynamic models of the system under design.<\/p>\n<h3><span id=\"Object-oriented_design_topics\" class=\"mw-headline\">Object-oriented design topics<\/span><\/h3>\n<h4><span id=\"Input_(sources)_for_object-oriented_design\" class=\"mw-headline\">Input (sources) for object-oriented design<\/span><\/h4>\n<p>The input for object-oriented design is provided by the output of\u00a0<a title=\"Object-oriented analysis and design\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object-oriented_analysis_and_design\">object-oriented analysis<\/a>. Realize that an output artifact does not need to be completely developed to serve as input of object-oriented design; analysis and design may occur in parallel, and in practice the results of one activity can feed the other in a short feedback cycle through an iterative process. Both analysis and design can be performed incrementally, and the artifacts can be continuously grown instead of completely developed in one shot.<\/p>\n<p>Some typical input artifacts for object-oriented design are:<\/p>\n<ul>\n<li><a title=\"Conceptual model (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Conceptual_model_(computer_science)\">Conceptual model<\/a>: The result of object-oriented analysis, it captures concepts in the\u00a0<a title=\"Domain (software engineering)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Domain_(software_engineering)\">problem domain<\/a>. The conceptual model is explicitly chosen to be independent of implementation details, such as\u00a0<a title=\"Concurrency (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Concurrency_(computer_science)\">concurrency<\/a>\u00a0or data storage.<\/li>\n<li><a title=\"Use case\" href=\"https:\/\/en.wikipedia.org\/wiki\/Use_case\">Use case<\/a>: A description of sequences of events that, taken together, lead to a system doing something useful. Each use case provides one or more\u00a0<a title=\"Scenario (computing)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Scenario_(computing)\">scenarios<\/a>\u00a0that convey how the system should interact with the users called actors to achieve a specific business goal or function. Use case actors may be end users or other systems. In many circumstances use cases are further elaborated into\u00a0<a title=\"Use case diagram\" href=\"https:\/\/en.wikipedia.org\/wiki\/Use_case_diagram\">use case diagrams<\/a>. Use case diagrams are used to identify the actor (users or other systems) and the processes they perform.<\/li>\n<li><a class=\"mw-redirect\" title=\"System sequence diagram\" href=\"https:\/\/en.wikipedia.org\/wiki\/System_sequence_diagram\">System sequence diagram<\/a>: A system sequence diagrams (SSD) is a picture that shows, for a particular scenario of a use case, the events that external actors generate, their order, and possible inter-system events.<\/li>\n<li><a title=\"User interface\" href=\"https:\/\/en.wikipedia.org\/wiki\/User_interface\">User interface<\/a>\u00a0documentations (if applicable): Document that shows and describes the\u00a0<a title=\"Look and feel\" href=\"https:\/\/en.wikipedia.org\/wiki\/Look_and_feel\">look and feel<\/a>\u00a0of the end product&#8217;s user interface. It is not mandatory to have this, but it helps to visualize the end-product and therefore helps the designer.<\/li>\n<li><a class=\"mw-redirect\" title=\"Relational data model\" href=\"https:\/\/en.wikipedia.org\/wiki\/Relational_data_model\">Relational data model<\/a>\u00a0(if applicable): A data model is an abstract model that describes how data is represented and used. If an\u00a0<a title=\"Object database\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object_database\">object database<\/a>\u00a0is not used, the relational data model should usually be created before the design, since the strategy chosen for\u00a0<a class=\"mw-redirect\" title=\"Object-relational mapping\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object-relational_mapping\">object-relational mapping<\/a>\u00a0is an output of the OO design process. However, it is possible to develop the relational data model and the object-oriented design artifacts in parallel, and the growth of an artifact can stimulate the refinement of other artifacts.<\/li>\n<\/ul>\n<h4><span id=\"Designing_concepts\" class=\"mw-headline\">Designing concepts<\/span><\/h4>\n<ul>\n<li>Defining objects mothers, creating\u00a0<a title=\"Class diagram\" href=\"https:\/\/en.wikipedia.org\/wiki\/Class_diagram\">class diagram<\/a>\u00a0from\u00a0<a title=\"Conceptual model (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Conceptual_model_(computer_science)\">conceptual diagram<\/a>: Usually map entity to class.<\/li>\n<li>Identifying\u00a0<a title=\"Attribute (computing)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Attribute_(computing)\">attributes<\/a>.<\/li>\n<li>Use\u00a0<a title=\"Design pattern\" href=\"https:\/\/en.wikipedia.org\/wiki\/Design_pattern\">design patterns<\/a>\u00a0(if applicable): A design pattern is not a finished design, it is a description of a solution to a common problem, in a context.<sup id=\"cite_ref-gof_1-0\" class=\"reference\"><\/sup>\u00a0The main advantage of using a design pattern is that it can be reused in multiple applications. It can also be thought of as a template for how to solve a problem that can be used in many different situations and\/or applications. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.<\/li>\n<li>Define\u00a0<a title=\"Application framework\" href=\"https:\/\/en.wikipedia.org\/wiki\/Application_framework\">application framework<\/a>\u00a0(if applicable): Application framework is usually a set of libraries or classes that are used to implement the standard structure of an application for a specific operating system. By bundling a large amount of reusable code into a framework, much time is saved for the developer, since he\/she is saved the task of rewriting large amounts of standard code for each new application that is developed.<\/li>\n<li>Identify persistent objects\/data (if applicable): Identify objects that have to last longer than a single runtime of the application. If a\u00a0<a title=\"Relational database\" href=\"https:\/\/en.wikipedia.org\/wiki\/Relational_database\">relational database<\/a>\u00a0is used, design the object relation mapping.<\/li>\n<li>Identify and define remote objects (if applicable).<\/li>\n<\/ul>\n<h4><span id=\"Output_.28deliverables.29_of_object-oriented_design\"><\/span><span id=\"Output_(deliverables)_of_object-oriented_design\" class=\"mw-headline\">Output (deliverables) of object-oriented design<\/span><\/h4>\n<ul>\n<li><a title=\"Sequence diagram\" href=\"https:\/\/en.wikipedia.org\/wiki\/Sequence_diagram\">Sequence diagram<\/a>: Extend the\u00a0<a class=\"mw-redirect\" title=\"System sequence diagram\" href=\"https:\/\/en.wikipedia.org\/wiki\/System_sequence_diagram\">system sequence diagram<\/a>\u00a0to add specific objects that handle the system events.<\/li>\n<\/ul>\n<dl>\n<dd>A sequence diagram shows, as parallel vertical lines, different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur.<\/dd>\n<\/dl>\n<ul>\n<li><a title=\"Class diagram\" href=\"https:\/\/en.wikipedia.org\/wiki\/Class_diagram\">Class diagram<\/a>: A class diagram is a type of static structure\u00a0<a title=\"Unified Modeling Language\" href=\"https:\/\/en.wikipedia.org\/wiki\/Unified_Modeling_Language\">UML<\/a>\u00a0diagram that describes the structure of a system by showing the system&#8217;s classes, their attributes, and the relationships between the classes. The messages and classes identified through the development of the sequence diagrams can serve as input to the automatic generation of the global class diagram of the system.<\/li>\n<\/ul>\n<h4><span id=\"Some_design_principles_and_strategies\" class=\"mw-headline\">Some design principles and strategies<\/span><\/h4>\n<ul>\n<li><a title=\"Dependency injection\" href=\"https:\/\/en.wikipedia.org\/wiki\/Dependency_injection\">Dependency injection<\/a>: The basic idea is that if an object depends upon having an instance of some other object then the needed object is &#8220;injected&#8221; into the dependent object; for example, being passed a database connection as an argument to the\u00a0<a title=\"Constructor (object-oriented programming)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Constructor_(object-oriented_programming)\">constructor<\/a>\u00a0instead of creating one internally.<\/li>\n<li><a title=\"Acyclic dependencies principle\" href=\"https:\/\/en.wikipedia.org\/wiki\/Acyclic_dependencies_principle\">Acyclic dependencies principle<\/a>: The dependency graph of packages or components (the granularity depends on the scope of work for one developer) should have no cycles. This is also referred to as having a\u00a0<a title=\"Directed acyclic graph\" href=\"https:\/\/en.wikipedia.org\/wiki\/Directed_acyclic_graph\">directed acyclic graph<\/a>.<sup id=\"cite_ref-objectMentor_2-0\" class=\"reference\"><\/sup>\u00a0For example, package C depends on package B, which depends on package A. If package A also depended on package C, then you would have a cycle.<\/li>\n<li><a class=\"mw-redirect\" title=\"Composite reuse principle\" href=\"https:\/\/en.wikipedia.org\/wiki\/Composite_reuse_principle\">Composite reuse principle<\/a>: Favor\u00a0<a title=\"Polymorphism (computer science)\" href=\"https:\/\/en.wikipedia.org\/wiki\/Polymorphism_(computer_science)\">polymorphic<\/a>\u00a0<a title=\"Object composition\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object_composition\">composition<\/a>\u00a0of objects over inheritance.<sup id=\"cite_ref-gof_1-1\" class=\"reference\"><\/sup><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p><iframe style=\"width: 100%; height: 480px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/share\/book\/object-oriented-design-using-uml-z7zsdnfdu?enforceShowPromotionBar=true\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"featured_media":7220,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"Object-oriented design\u00a0is the process of planning a\u00a0system of interacting objects\u00a0for the purpose of solving a software problem."},"product_brand":[],"product_cat":[213],"product_tag":[201],"class_list":{"0":"post-7217","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-computer-uml","7":"product_tag-lecture-notes","9":"first","10":"instock","11":"shipping-taxable","12":"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>Object-Oriented Design Using UML - BooksOfAll Russian<\/title>\n<meta name=\"description\" content=\"Object-oriented design\u00a0is the process of planning a\u00a0system of interacting objects\u00a0for the purpose of solving a software problem.\" \/>\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\/ru\/object-oriented-design-using-uml\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Object-Oriented Design Using UML - BooksOfAll Russian\" \/>\n<meta property=\"og:description\" content=\"Object-oriented design\u00a0is the process of planning a\u00a0system of interacting objects\u00a0for the purpose of solving a software problem.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll Russian\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-15T02:51:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/\",\"url\":\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/\",\"name\":\"Object-Oriented Design Using UML - BooksOfAll Russian\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg\",\"datePublished\":\"2022-06-06T01:27:13+00:00\",\"dateModified\":\"2022-06-15T02:51:33+00:00\",\"description\":\"Object-oriented design\u00a0is the process of planning a\u00a0system of interacting objects\u00a0for the purpose of solving a software problem.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg\",\"contentUrl\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg\",\"width\":\"596\",\"height\":\"842\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/ru\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Object-Oriented Design Using UML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/#website\",\"url\":\"https:\/\/www.booksofall.com\/ru\/\",\"name\":\"BooksOfAll Russian\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/ru\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/#organization\",\"name\":\"BooksOfAll Russian\",\"url\":\"https:\/\/www.booksofall.com\/ru\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll Russian\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Object-Oriented Design Using UML - BooksOfAll Russian","description":"Object-oriented design\u00a0is the process of planning a\u00a0system of interacting objects\u00a0for the purpose of solving a software problem.","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\/ru\/object-oriented-design-using-uml\/","og_locale":"ru_RU","og_type":"article","og_title":"Object-Oriented Design Using UML - BooksOfAll Russian","og_description":"Object-oriented design\u00a0is the process of planning a\u00a0system of interacting objects\u00a0for the purpose of solving a software problem.","og_url":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/","og_site_name":"BooksOfAll Russian","article_modified_time":"2022-06-15T02:51:33+00:00","og_image":[{"url":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg","twitter_misc":{"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"5 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/","url":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/","name":"Object-Oriented Design Using UML - BooksOfAll Russian","isPartOf":{"@id":"https:\/\/www.booksofall.com\/ru\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg","datePublished":"2022-06-06T01:27:13+00:00","dateModified":"2022-06-15T02:51:33+00:00","description":"Object-oriented design\u00a0is the process of planning a\u00a0system of interacting objects\u00a0for the purpose of solving a software problem.","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#primaryimage","url":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg","contentUrl":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/img_62a19d2da17bb.jpeg","width":"596","height":"842"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/ru\/object-oriented-design-using-uml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/ru\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/ru\/categories\/"},{"@type":"ListItem","position":3,"name":"Object-Oriented Design Using UML"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/ru\/#website","url":"https:\/\/www.booksofall.com\/ru\/","name":"BooksOfAll Russian","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/ru\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/ru\/#organization","name":"BooksOfAll Russian","url":"https:\/\/www.booksofall.com\/ru\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/ru\/wp-content\/uploads\/sites\/7\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll Russian"},"image":{"@id":"https:\/\/www.booksofall.com\/ru\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product\/7217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/media\/7220"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/media?parent=7217"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product_brand?post=7217"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product_cat?post=7217"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/ru\/wp-json\/wp\/v2\/product_tag?post=7217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}