Тим більше, що воно не впоралося зі своїм завданням. «Вища освіта не має бути масовою

Цьому чемпіонату, на якому, здається, вже трапилося все, що не могло статися – я маю на увазі турнірну інтригу, – на фініші не вистачало чогось завершального. Не сенсації - це слово по ходу затерлося через занадто часті вживання. А чогось взагалі неймовірного у вигляді фіналу Бельгія – Хорватія. Бельгійці підвели. А хорвати вийшли у фінал. І це згадуватиметься через роки: «Це той чемпіонат світу, на якому у фіналі грала збірна Хорватії!» Нічого такого не було 50 років. І не мало бути.

Починаючи з ЧС-1966, який у нас вперше показували по телебаченню і який вперше та востаннє виграли родоначальники футболу, жодного «другого ешелону» у фіналі бути не могло в принципі. Угорщина 1954-го, Швеція 1958-го, Чехословаччина 1962-го. Далі у фінал у різні роки виходили та перемагали виключно монстри: Бразилія, Італія, Німеччина, Аргентина, Франція. Плюс вічний невдаха Голландія і Іспанія, що вперше прорвалася до столу тільки в 2010-му, що сенсацією не стало. І все! І більше — ні-кого!

Футбольних країн вистачає, футбольних держав трохи більше ніж пальців на одній руці. На континентальних чемпіонатах – будь ласка, грайтеся хоч Мексика з Чилі, хоч Данія-Греція-Португалія. Але на планетарному футбольному форумі ні-ні.

І не хорватам з усього було ламати традицію. Так, не потрапили до Росії Італія з Голландією, але когорта грандів мала досить потужний вигляд. Одного з них хорвати винесли ще у групі, каменю на камені не залишивши на Аргентині. Але чи мало кого раніше називали тіньовим фаворитом і хто їх відразу згадає? Кубковий раунд підопічні Златко Даліча розпочали та продовжили зі скрипом, здобувши перемоги над збірними Данії та Росії у серії пенальті. Два поспіль матчі по 120 із лишком хвилин виснажливої ​​боротьби для вікової команди — майже вирок. З сіткою, звичайно, пощастило, але не з Англією.

Ось хто був голодний, жадібний і найголовніше - свіжий. Ось хто, напевно, пам'ятав, що саме невмотивована Хорватія позбавила Англію участі в Євро-2008, відкривши дорогу Росії.

Все зав'язалось у лужниківському півфіналі у тугий вузол, і майже всі козирі були на руках у Гарета Саутгейта. Майже всі, крім одного, — досвіду, про що людина у строгій жилетці не втомлювалася нагадувати вже після того, як усе закінчилося.

По суті, закінчилося тим, що після голу Маріо Манджукіча хорватські футболісти, які збожеволіли від щастя, за кромкою поля мало не задавили сальвадорського фотографа. Коли пролунав фінальний свисток турецького судді Джюнайта Чакира, годинник готувався відбити опівночі. Небо над вирувальною чашею Великої спортивної арени давно було темне, майже чорне. Але для переможців на ньому сяяли зірки.

Але людство нагору не дивилося. Воно насолоджувалося моментом. Найцікавіша в результаті його частина — англійці у білих майках та хорвати у традиційних червоно-білих «шашечках» — становила максимум одну п'яту аудиторію. Залишки вболівальників, що залишили чемпіонат, виділялися на загальному тлі — миготіли то сомбреро, то пончо, то німецький прапор, але й російських теж вистачало. А найбільше за моїми підрахунками виявилося китайців. Вони нарешті масово долучилися до мундіалю на рівні півфіналу, не пошкодувавши грошей. А як уболівальники з Піднебесної викидали кіоски з офіційною атрибутикою вже після матчу – треба було бачити.

Хмару прогнав шум трибун. Місце дісталося добре, десь на середньому рівні. Звідти добре було видно, як хлопці в білому електричками гасають повз платформи. Платформами були хорватські гравці. Здавалося, що їм дається насилу кожен рух. Вони просто не встигали за лихими атаками. Ніхто не встигав. Досвідчений Лука Модріч завалив Деле Аллі, який вищий за нього на голову, на межі штрафного майданчика на самому початку матчу. Кіран Тріпп'єр з «Тоттенхема», який виконує всі штрафні, запустив м'яч над стінкою, Деян Ловрен з «Ліверпуля» мало не дострибнув, у воротаря Даніеля Субашича не залишилося шансів. Англійська торсида видала клич захоплення і заспівала по-справжньому, що періодично переривалося зітханням розчарування.

Було від чого. Капітан Гаррі Кейн з метра влучив у штангу і запоров момент, який може очолити будь-який хіт-парад курйозів. Джессі Лінгард акуратно і без перешкод вкладав м'яч у правий від голкіпера кут, але схибив. Підходів було не порахувати. Хорвати упиралися як могли, але виглядали приреченими. З трибун свистіли.

Не всім — «Лужники» збірну Хорватії якраз підтримували значно більше, ніж англійців. Свист адресувався конкретному гравцю. Чи не англійці свистіли, і тим більше не китайці. Господарі відрізнялися, росіяни, про чию привітність і не втомлюються кричати на всіх телеканалах. Мішенню став захисник Домагой Віда. Мало того, що він забив другий м'яч у ворота Ігоря Акінфєєва, який ледь не став вирішальним. Він після матчу разом із членом хорватської делегації Огненом Вукоєвичем ще й зробив надбанням інтернету ролик, у якому було більше дурниці, ніж крамоли.

На «Слава Україні!» наші пропагандисти накинулися як на червону ганчірку. Вже й ФІФА покарала штрафників, уже й самі хорвати позбавили акредитації Вукоєвича, вже й сам Віда вибачився, вже й уболівальники розтягли мало не два сектори полотнище зі словами подяки Росії.

Але Віду не зрозуміли і не пробачили, виявивши навіть більшу, ніж футболіст, який грав у київському «Динамо», залежність від політики.

Вида вухом не повів. Хорвати вистояли. Англійцям варто було насторожитися. Але вони вийшли на другий тайм, явно збираючись грати по рахунку. Раніше це у них виходило — Саутгейт багато чому навчив свою молоду і не надто досвідчену команду. Проте цього разу проти них були хорвати, які двічі програвали суперникам у ході матчу у кубковому раунді — і двічі перемагали. Бійці та майстри, які ніколи не здаються. Вони ж без замін грали, аж до початку додаткового часу — факт такого матчу неймовірний.


Види із сином святкують вихід у фінал. Фото: Влад Докшин / «Нова газета»

Коротше, стриножили хорвати англійську легку кавалерію. Взяли м'яч та територію. Взялися методично брати в облогу штрафний майданчик і не просто турбували Джордана Пікфорда, а влаштували в його володіннях справжню пожежу. Іван Перішич забив, у жорсткому стику випередивши Кайла Уокера після найпростішого навісу Шиме Врсалько. У наступному епізоді ворота Пікфорда врятувала лише штанга - бив той же Перішич. Так-сяк вирівняти гру збірної Англії вдалося лише до кінця основного часу.

Злим генієм для неї став Маріо Манджукіч. Форварда «Ювентуса» впустили у штрафному майданчику, м'яч скинув герой матчу Перішич (пізніше Іван скаже, що Маріо опинився в правильному місці), а Манджукич таких моментів не втрачає. Потім двічі ніби гігант, що складається з одних жил, буде без сил сідати на газон, а піднятися йому допомагатимуть англійці, які вже вважали кожну втрачену секунду.

Спочатку з поля піде Манджукіч. Потім Модріч. Якогось моменту замість звичного для лідера збірної проникаючого пасу він просто котнув м'яч супернику — ноги вже не слухалися. Але англійці вже програли. Швидше за духом, а не тактикою.

Саутгейт на прес-конференції буде в основному говорити про те, про що говорять після переможної поразки збірної Росії: про прогрес команди і отриманий нею досвід. І найменше — про втішний фінал у Санкт-Петербурзі з бельгійцями.

Фраза «на місці хорватів мала опинитися збірна Росії» не підходить. Могла, але не виявилася. І крапка.

А як же півфінал Франція — Бельгія? Як же тріумф, що не відбувся, найвидовищнішою збірною чемпіонату? Чому ж не вийшло у блискучого тріо Азар де Брейне Лукаку?

Та тому, що французи. Напевно, майбутні чемпіони. Пружиніста, гнучка, хитра, страшенно прагматична збірна, якої ніколи до цього вона не була. Дідьє Дешам після прикро програного фіналу домашнього Євро дворічної давності включив програму під назвою «головне — результат». І зробив із дуже талановитої, але сируватої збірної команду-вбивцю, яка може задушити будь-якого суперника.

Перед неділею усі за французів. Абсолютно все. Але вишенька на торті вже є. Ви знаєте, як вона називається.

Оргкомітет звертає увагу на правильність оформлення заявок та статей. При невідповідності до правил оформлення оргкомітет конференції залишає за собою право надіслати назад автору його матеріали для виправлення виявлених помилок.

Єдиний формат оформлення пристатейних бібліографічних посилань відповідно до ГОСТ Р 7.0.5 2008 «Бібліографічне посилання»

(Приклади оформлення посилань та пристатейних списків літератури)

Статті з журналів та збірників:

Адорно Т. В. До логіки соціальних наук // Зап. філософії. – 1992. – № 10. – С. 76-86.

Кравфорд П. Дж. Реферат літератури і бізнес-професіонал: стратегічна aliance, що працювали / PJ Кравфорд, Т. П. Барретт // Ref. Libr. – 1997. Vol. 3, № 58. – P. 75-85.

Crawford P.J., Barrett Т. P. Реферат librarian і business profesor: a strategic alliance that works // Ref. Libr. 1997. Vol. 3. №58. P. 75-85.

Корнілов В.І. Турбулентний прикордонний шар на тілі обертання при періодичному вдуві/відсмоктуванні // Теплофізика та аеромеханіка. – 2006. – Т. 13, №. 3. – С. 369-385.

Кузнєцов А. Ю. Консорціум - механізм організації підписки на електронні ресурси// Російський фонд фундаментальних досліджень: десять років служіння російській науці. - М: Наук. світ, 2003. – С. 340-342.

Тарасова В. І. Політична історія Латинської Америки: навч. для вузів. - 2-ге вид. – М.: Проспект, 2006. – С. 305-412

Допускається приписаний знак точку та тире, що розділяє області бібліографічного опису, замінювати крапкою.

Філософія культури та філософія науки: проблеми та гіпотези: міжвуз. зб. наук. тр. / Сарат. держ. ун-т; [Під ред. С. Ф. Мартиновича]. Саратов: Вид-во Сарат. ун-ту, 1999. - 199 с.

Допускається не використовувати квадратні дужки для відомостей, запозичених не з запропонованого джерела інформації.

Райзберг Б. А. Сучасний економічний словник/Б. А. Райзберг, Л. UJ. Лозовський, Є. Б. Стародубцева. -5-е вид., перероб. та дод. - М:ІНФРА-М, 2006. - 494 с.

Райзберг Би. А., Лозовський Л. Ш., Стародубцева Є. Би. Сучасний економічний словник. 5-те вид., перероб. та дод. М: ІНФРА-М, 2006. 494 с.

Глухів В.А. Дослідження, розробка та побудова системи електронної доставки документів у бібліотеці: Автореф. дис. канд. техн. наук. – Новосибірськ, 2000. – 18 с.

Дисертації

Фенухін В. І. Етнополітичні конфлікти в сучасній Росії: на прикладі Північнокавказького регіону: дис.... канд. політ, наук. – М.. 2002. – С. 54-55.

Аналітичні огляди:

Економіка та політика Росії та держав ближнього зарубіжжя: аналіт. огляд, квіт. 2007/ Ріс. акад. наук, Ін-т світової економіки та міжнар. відносин. - М.: ІСЕМВ, 2007. - 39 с.

Патенти:

Патент РФ № 2000130511/28, 04.12.2000.

Єськов Д.М., Бонштедт Б.Е., Корешев С.М., Лебедєва Г.І., Серьогін А.Г. Оптико-електронний апарат // Патент Росії № 2122745.1998. Бюл. №33.

Матеріали конференцій

Археологія: історія та перспективи: зб. ст. Перший міжрегіон, конф. Ярославль, 2003. 350 с.

Мар'їнських Д.М. Розробка ландшафтного плану як необхідна умова сталого розвитку міста (з прикладу Тюмені) // Екологія ландшафту та планування землекористування: тези докл. Всерос. конф. (Іркутськ, 11-12 вер. 2000). – Новосибірськ, 2000. – С.125-128.

Інтернет-документи:

Офіційні періодичні видання: електронний путівник / Ріс. нац. б-ка Центр правової інформації. [СПб.], 20052007. URL: http://www.nlr.ru/lawcenter/izd/index.html (дата звернення: 18.01.2007).

Логінова Л. Г. Сутність результату додаткової освіти дітей // Освіта: досліджено у світі: міжнар. наук. пед. інтернет-журн. 21.10.03. URL: http://www.oim.ru/reader.asp7nomers 366 (дата звернення: 17.04.07).

Ринок тренінгів Новосибірська: своя гра [Електронний ресурс]. - Режим доступу: http://nsk.adme.ru/news/2006/07/03/2121.html (дата звернення: 17.10.08).

Літчфорд Є. У. З Білою Армією по Сибіру [Електронний ресурс] / / Східний фронт Армії Генерала А. В. Колчака: сайт. - URL: http://east-front.narod.ru/memo/latchford.htm (дата звернення 23.08.2007).

Монографи

ГОСТ 25328-82

Група Ж12

МІЖДЕРЖАВНИЙ СТАНДАРТ

ЦЕМЕНТ ДЛЯ БУДІВЕЛЬНИХ РОЗЧИН

Технічні умови

Masonry cement. Specifications

МКС 91.100.10
ОКП 57 3811

Дата введення 1983-01-01

ІНФОРМАЦІЙНІ ДАНІ

1. Розроблено та внесено Міністерством промисловості будівельних матеріалів СРСР

2. ЗАТВЕРДЖЕНИЙ І ВВЕДЕНИЙ У ДІЮ Постановою Державного комітету СРСР у справах будівництва від 09.04.82 N 93

3. ВВЕДЕНО ВПЕРШЕ

4. ПОСИЛОЧНІ НОРМАТИВНО-ТЕХНІЧНІ ДОКУМЕНТИ

Номер пункту

2.1, 4.1, 6.1

5. ПЕРЕВИДАННЯ. Грудень 2003

Цей стандарт поширюється на цемент, одержуваний на основі портландцементного клінкеру та призначений для будівельних розчинів, що застосовуються при виробництві кладок, облицювальних та штукатурних робіт, а також для виготовлення неармованих бетонів марок М 50 і нижче, до яких не пред'являються вимоги щодо морозостійкості.

1. ТЕХНІЧНІ ВИМОГИ

1. ТЕХНІЧНІ ВИМОГИ

1.1. Цемент повинен виготовлятись відповідно до вимог цього стандарту за технологічними регламентами, затвердженими в установленому порядку.

1.2. Цемент для будівництва розчинів - продукт, який отримується шляхом спільного подрібнення портландцементного клінкеру, гіпсу, активних мінеральних добавок та наповнювачів.

1.3. Матеріали, які застосовуються для виготовлення цементу, повинні відповідати вимогам, передбаченим у стандартах чи технічних умовах на ці матеріали.

1.4. Добавки

1.4.1. Активні мінеральні добавки – з нормативно-технічної документації (НТД).

Гранульовані доменні або електротермофосфорні шлаки - за ГОСТ 3476.

1.4.2. Добавки-наповнювачі

Кварцовий пісок із вмістом оксиду кремнію щонайменше 90%. Вміст глинистих, мулистих і дрібних пилоподібних фракцій величиною менше 0,05 мм не повинен бути більше 3%.

Кристалічний вапняк, мармур та пил електрофільтрів клінкеропальних печей - по НТД.

1.5. Гіпсовий камінь - ГОСТ 4013 . Допускається застосовувати фосфо- та борогіпс з НТД.

1.7. Допускається вводити в цемент пластифікуючі або гідрофобізуючі добавки, що покращують якість цементу. Кількість добавок, що пластифікують, повинна бути не більше 0,5%, а гідрофобізуючих - не більше 0,3% маси цементу.

1.8. Допускається вводити в цемент повітрозтягуючі добавки в кількості до 1% маси цементу.

1.9. При виготовленні цементу для інтенсифікації процесу помелу допускається вводити технологічні добавки, що не погіршують якості цементу, не більше 1% маси цементу.

1.10. Межа міцності цементу при стиску в 28-добовому віці має бути не менше 19,6 МПа (200 кгс/см).

1.11. Початок схоплювання цементу має наступати не раніше 45 хв, а кінець - пізніше 12 год від початку замішування.

1.12. Водовідділення цементного тесту, виготовленого при В/Ц=1,0, не повинно бути більшим за 30% за обсягом.

1.13. Зразки цементу повинні виявляти рівномірність зміни обсягу при випробуванні їх кип'ятінням у воді.

1.14. Тонкість помелу цементу повинна бути такою, щоб при просіюванні через сито N 008 за ГОСТ 6613 проходило не менше 88% маси проби.

1.15. Вміст ангідриду сірчаної кислоти в цементі має бути не меншим за 1,5 і не більше 3,5% маси цементу.

2. ПРАВИЛА ПРИЙМАННЯ

2.1. Правила приймання цементу - за ГОСТ 30515.

3. МЕТОДИ ВИПРОБУВАНЬ

3.1. Хімічний склад цементу визначають за ГОСТ 5382.

3.2. Фізико-механічні властивості цементу визначають за ГОСТ 310.1-ГОСТ 310.6.

3.4. Водовиділення цементу визначають за такою методикою.

3.4.1. Апаратура

Порцеляновий стакан місткістю 1 л.

Металевий шпатель.

Технічні ваги.

Градуйований циліндр місткістю 500 мл.

3.4.2. Проведення випробувань

Відважують 350 г цементу і 350 г води з точністю до 1 г. Воду виливають у фарфорову склянку, потім у склянку протягом 1 хв висипають навішування цементу, безперервно перемішуючи вміст металевим шпателем. Отримане цементне тісто перемішують ще 4 хв та обережно переливають у градуйований циліндр. Циліндр із цементним тестом ставлять на стіл і відразу відраховують обсяг цементного тесту. Під час досвіду циліндр повинен стояти нерухомо і не піддаватися поштовхам та струшуванням.

Обсяг цементного тесту, що осів, відзначають через 4 год після першого відліку.

Коефіцієнт водовідділення (об'ємний) у відсотках обчислюють за формулою

де - Початковий обсяг цементного тесту, см;

- Об'єм цементного тесту, що осів, див.

4. УПАКОВКА, МАРКУВАННЯ, ТРАНСПОРТУВАННЯ ТА ЗБЕРІГАННЯ

4.1. Упаковку, маркування, транспортування та зберігання цементу здійснюють за ГОСТ 30515 .

5. ВКАЗІВКА ЗАСТОСУВАННЯ

5.1. Цемент повинен застосовуватись відповідно до Інструкції з приготування та застосування будівельних розчинів, затвердженої Держбудом.

У зв'язку з уповільненим твердінням за низьких температур цей цемент слід використовувати, як правило, при температурі навколишнього середовища не нижче 10 °С.

6. ГАРАНТІЇ ВИГОТОВЦЯ

6.1. Підприємство-виробник гарантує відповідність цементу всім вимогам цього стандарту протягом місяця за умови дотримання його транспортування та відповідно до вимог ГОСТ 30515.


Електронний текст документа
підготовлений ЗАТ "Кодекс" та звірений за:
офіційне видання
М: ІПК Видавництво стандартів, 2004

Формулювання: не повинно бути більше однієї причини для зміни класу

Що причиною зміни логіки роботи класу? Мабуть, зміна відносин між класами, запровадження нових вимог чи скасування старих. Загалом питання про причину цих змін лежить у площині відповідальності, яку ми поклали на наш клас. Якщо об'єкт має багато відповідальності, то й змінюватися він буде дуже часто. Таким чином, якщо клас має більше однієї відповідальності, це веде до крихкості дизайну і помилок у несподіваних місцях при змінах коду.

Приклади

Сценаріїв, де можна зустріти порушення цього принципу, дуже багато. Я вибрав кілька найпопулярніших. Приклади наводяться з позначенням помилки в дизайні, після чого буде наведено вирішення проблеми.

1. Active Record

Проблема

Зовсім недавно як ORM я використовував MyGeneration. Суть цієї ORM полягає в тому, що за таблицями бази даних вона генерує бізнес-сутності. Візьмемо для прикладу сутність користувача - Account. Сценарій використання виглядає так:

// Створення користувача Accounts account = new Accounts(); account.AddNew(); account.Name = "Name"; account.Save(); // завантаження об'єкта по Id Accounts account = new Accounts() account.LoadByPrimaryKey(1); // Завантаження зв'язкової колекції при зверненні до якості об'єкта var list = account.Roles;

Шаблон Active Record може бути успішно використаний у невеликих проектах із простою бізнес-логікою. Практика показує, що коли проект розростається, то через змішану логіку всередині доменних об'єктів виникає багато дублювання в коді та непередбачених помилок. Звернення до бази даних досить складно простежити, коли вони приховані, наприклад, за властивістю об'єкта account.Roles.

В даному випадку об'єкт Account має кілька відповідальності:

  1. є об'єктом домену і зберігає бізнес-правила, наприклад, зв'язок із колекцією ролей
  2. є точкою доступу до бази даних

Рішення

Простим та дієвим виходом є використання шаблону Repository. Сховище AccountRepository ми залишаємо роботу з базою даних та отримуємо «чистий» доменний об'єкт.

// Створення користувача var account = new Account(); account.Name = "Name"; accountRepository.Save(account); // завантаження користувача по Id var account = accountRepository.GetById(1); // завантаження з колекцією зв'язків // приклад з LLBLGen Pro var account = accountRepository.GetById(1, new IPath(new Path (Account.PrefetchPathRoles)));

2. Валідація даних

Проблема

Якщо ви зробили хоча б один проект, то перед вами, напевно, стояла проблема валідації даних. Наприклад, перевірка введеної адреси ел. пошти, довжини імені користувача, складності пароля тощо. Для валідації об'єкта резонно виникає перша реалізація:

Public class Product (public int Price (get; set;) public bool IsValid() (return Price > 0;)) // перевірка на валідність var product = new Product (Price = 100); var isValid = product.IsValid();

Такий підхід є цілком виправданим у цьому випадку. Код простий, тестування піддається, дублювання логіки немає.

Тепер наш об'єкт Product почав використовувати в якомусь CustomerService, який вважає валідним продукт із ціною більше 100 тис. рублів. Що робити? Вже зараз зрозуміло, що нам доведеться змінювати наш об'єкт продукту, наприклад, таким чином:

Public class Product (public int Price (get; set;) = New Product (Price = 100); var isValid = product.IsValid(true);

Рішення

Стало очевидно, що при подальшому використанні об'єкта Product логіка валідації його даних буде змінюватись та ускладнюватись. Мабуть час віддати відповідальність за валідацію даних продукту іншому об'єкту. Причому треба зробити те щоб сам об'єкт продукту не залежав від конкретної реалізації його валідатора. Отримуємо код:

Public interface IProductValidator ( bool IsValid(Product product); ) product.Price > 100000; ) ) public class Product ( private readonly IProductValidator validator; public Product() : цей(новий ProductDefaultValidator()) ( ) public Product(IProductValidator validator) ( this.validator = validator; ; set ; ) public bool IsValid() ( return validator.IsValid(this); ) ) // звичайне використання var product = new Product ( Price = 100 ); // використовуємо об'єкт продукту у новому сервісі var product = new Product (new CustomerServiceProductValidator()) ( Price = 100 );

Маємо об'єкт Product окремо, а будь-яку кількість усіляких валідаторів окремо.

На додаток хочу порадити книгу Застосування DDD та шаблонів проектування. Проблемно-орієнтоване проектування додатків із прикладами на C# і .NET. У ній дуже докладно розглянуто питання про валідацію даних.

3. God object

Проблема

Межа порушення принципу єдиності відповідальності - God object. Цей об'єкт знає та вміє робити все, що тільки можна. Наприклад, він робить запити до бази даних, до файлової системи, спілкується за протоколами до мережі та містить тонну бізнес-логіки. На приклад наведу об'єкт, який називається ImageHelper :

Public static class ImageHelper ( public static void Save(Image image) ( // збереження зображення у файловій системі ) public static int DeleteDuplicates() ( // видалити з файлової системи всі зображення, що дублюються, і повернути кількість віддалених ) public static Image SetImageAsAccountPicture(Image image , Account account) ( // запит до бази даних для збереження посилання на це зображення для користувача) public static Image // змінити кольори на зображенні) public static byte Download(Url imageUrl) ( // завантаження бітового масиву із зображенням за допомогою HTTP запиту) // тощо.

Здається, що межі відповідальності він взагалі не має. Він може зберігати базу даних, причому знає правила призначення зображень користувачам. Може завантажувати зображення. Знає, як зберігаються файли зображень та може працювати з файловою системою.

Кожна відповідальність цього класу веде до його потенційної зміни. Виходить, що цей клас дуже часто змінюватиме свою поведінку, що ускладнить його тестування та тестування компонентів, які його використовують. Такий підхід знизить працездатність системи та підвищить вартість її супроводу.

Рішення

Рішенням є розділити цей клас за принципом єдиності відповідальності: один клас однією відповідальність.

Public static class ImageFileManager ( public static void Save(Image image) ( // збереження зображення у файловій системі ) public static int DeleteDuplicates() ( // видалити з файлової системи всі зображення, що дублюються, і повернути кількість віддалених ) ) public static class ImageRepository ( public static Image SetImageAsAccountPicture(Image image, Account account) ( // запит до бази даних для збереження посилання на це зображення для користувача ) ) public static class Graphics ( public static Image Resize розмірів зображення ) public static Image InvertColors(Image image) ( // змінити кольори на зображенні ) ) public static class ImageHttpManager ( public static byte Download(Url imageUrl) ( // завантаження бітового масиву із зображенням за допомогою HTTP запиту ) )

Цей пост входить до серії

51 рік тому, 8 жовтня 1967 року, у Великій Британії вперше прийнято закон, що регламентує вміст алкоголю в крові водіїв.

Вживання спиртних напоїв для водіїв усіх видів транспорту небезпечне – навіть незначне зниження реакції та уваги призводить до зростання аварійних ситуацій та числа ДТП зі смертельним наслідком.

Водії транспорту у стані сп'яніння звернули на себе увагу ще у ХІХ столітті.

1872 року в Англії з'явився перший офіційний документ, який визначив як порушення громадського порядку «стан сп'яніння водія карети, воза, а також парової машини на дорогах чи інших громадських місцях».

1925 року до цього документа було внесено доповнення: «водій будь-якого механічного транспортного засобу».

В 1932 професор Відмарк (Швеція) вперше розробив пристрій для науково обґрунтованого визначення алкоголю в крові. Цей рік слід вважати початком епохи аналізу крові водіїв на алкоголь.

1935 року Британська медична асоціація опублікувала результати дослідження «Дорожні аварії, пов'язані з алкоголем». 1936 року розпочинається широка кампанія з впровадження науково обґрунтованого методу аналізу крові на алкоголь. 1939 року комітет палати лордів рекомендує впровадити цей аналіз для контролю водіїв, але виключно на добровільних засадах.

1966 року зроблено першу спробу провести через парламент закон, який регламентує вміст етанолу в крові: 0,8 проміле як гранично-допустимий рівень і максимальну швидкість - 70 миль/год. Перевищення цих показників мало розглядатися як серйозне порушення.

8 жовтня 1967 року закон було ухвалено. Наслідки були вражаючими: кількість смертей на дорогах Англії знизилася майже вдвічі.