From 6cf34945024b906526f8744db22ba55dee5859d2 Mon Sep 17 00:00:00 2001 From: iatsdotfatr <51824674+iatsdotfatr@users.noreply.github.com> Date: Tue, 28 Sep 2021 21:19:54 +0600 Subject: [PATCH 1/3] Update basic-design-principles.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Уточнил вопросы по cohesion и coupling. --- shared/middle/basic-design-principles.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/shared/middle/basic-design-principles.md b/shared/middle/basic-design-principles.md index be56fe6b..7b182840 100644 --- a/shared/middle/basic-design-principles.md +++ b/shared/middle/basic-design-principles.md @@ -1,8 +1,23 @@ # Базовые принципы проектирования * Что такое абстрагирование? Какие есть отличия между абстракцией, инкапсуляцией и скрытием информации? -* Что такое Coupling? Как абстрагирование влияет на coupling? -* Что такое Cohesion? Является ли эта величина обратной величине Coupling? +* Что такое Coupling? Рассказать про следующие виды coupling: + * Content coupling + * Common coupling + * External coupling + * Control coupling + * Stamp (data-structured) coupling + * Data coupling +* Как абстрагирование влияет на Coupling? +* Что такое Cohesion? Рассказать про следующие виды cohesion: + * Coincidental cohesion + * Logical cohesion + * Temporal cohesion + * Procedural cohesion + * Communicational/informational cohesion + * Sequential cohesion + * Functional cohesion +* Является ли величина Cohesion обратной величине Coupling? * Separation of concerns * Что это такое? * Какие преимущества даёт следование этому принципу? From db359c1b8407eed545c63aa827672a614d27b97d Mon Sep 17 00:00:00 2001 From: iatsdotfatr <51824674+iatsdotfatr@users.noreply.github.com> Date: Tue, 28 Sep 2021 21:22:25 +0600 Subject: [PATCH 2/3] Update basic-design-principles.md --- shared/middle/basic-design-principles.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/middle/basic-design-principles.md b/shared/middle/basic-design-principles.md index 7b182840..5f25eb26 100644 --- a/shared/middle/basic-design-principles.md +++ b/shared/middle/basic-design-principles.md @@ -1,7 +1,7 @@ # Базовые принципы проектирования * Что такое абстрагирование? Какие есть отличия между абстракцией, инкапсуляцией и скрытием информации? -* Что такое Coupling? Рассказать про следующие виды coupling: +* Что такое Coupling? Рассказать с примерами про следующие виды coupling: * Content coupling * Common coupling * External coupling @@ -9,7 +9,7 @@ * Stamp (data-structured) coupling * Data coupling * Как абстрагирование влияет на Coupling? -* Что такое Cohesion? Рассказать про следующие виды cohesion: +* Что такое Cohesion? Рассказать с примерами про следующие виды cohesion: * Coincidental cohesion * Logical cohesion * Temporal cohesion From 0422ba72b4a647706fb1477e808fa77109077677 Mon Sep 17 00:00:00 2001 From: iatsdotfatr <51824674+iatsdotfatr@users.noreply.github.com> Date: Wed, 29 Sep 2021 12:57:30 +0600 Subject: [PATCH 3/3] Update basic-design-principles.md --- shared/middle/basic-design-principles.md | 40 ++++++++++++++---------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/shared/middle/basic-design-principles.md b/shared/middle/basic-design-principles.md index 5f25eb26..e4a1b550 100644 --- a/shared/middle/basic-design-principles.md +++ b/shared/middle/basic-design-principles.md @@ -1,23 +1,27 @@ # Базовые принципы проектирования * Что такое абстрагирование? Какие есть отличия между абстракцией, инкапсуляцией и скрытием информации? -* Что такое Coupling? Рассказать с примерами про следующие виды coupling: - * Content coupling - * Common coupling - * External coupling - * Control coupling - * Stamp (data-structured) coupling - * Data coupling -* Как абстрагирование влияет на Coupling? -* Что такое Cohesion? Рассказать с примерами про следующие виды cohesion: - * Coincidental cohesion - * Logical cohesion - * Temporal cohesion - * Procedural cohesion - * Communicational/informational cohesion - * Sequential cohesion - * Functional cohesion -* Является ли величина Cohesion обратной величине Coupling? +* Coupling + * Что такое Coupling? + * Рассказать с примерами про следующие виды coupling: + * Content coupling + * Common coupling + * External coupling + * Control coupling + * Stamp (data-structured) coupling + * Data coupling + * Как абстрагирование влияет на Coupling? +* Cohesion + * Что такое Cohesion? + * Рассказать с примерами про следующие виды cohesion: + * Coincidental cohesion + * Logical cohesion + * Temporal cohesion + * Procedural cohesion + * Communicational/informational cohesion + * Sequential cohesion + * Functional cohesion + * Является ли величина Cohesion обратной величине Coupling? * Separation of concerns * Что это такое? * Какие преимущества даёт следование этому принципу? @@ -48,6 +52,8 @@ * [Abstraction, Encapsulation, and Information Hiding](http://www.tonymarston.co.uk/php-mysql/abstraction.txt) * [Difference between Abstraction and Encapsulation](https://www.guru99.com/difference-between-abstraction-and-encapsulation.html#2) +* [Cohesion](https://www.chegg.com/learn/computer-science/computer-software/module-cohesion) +* [Coupling](https://www.chegg.com/learn/computer-science/computer-software/module-coupling) * [The DRY Principle Explained: Its Benefit and Cost with Examples](https://thevaluable.dev/dry-principle-explained/) [[Перевод](https://habr.com/ru/company/mailru/blog/349978/)] * [Why DRY? by Mark Seemann](https://blog.ploeh.dk/2014/08/07/why-dry/) * [Repeat yourself, do more than one thing, and rewrite everything](https://programmingisterrible.com/post/176657481103/repeat-yourself-do-more-than-one-thing-and)