Публикации по теме 'software-design'


Как написать шаблон проектирования
Шаблон — это проверенное решение часто встречающейся проблемы при проектировании программного обеспечения. Написание шаблона проектирования является важной задачей и требует рассмотрения различных важных аспектов, таких как естественный процесс формирования шаблона , элементы шаблона и общие рекомендации . Перед написанием шаблона проектирования человек должен ознакомиться с описаниями существующих шаблонов и понять их основные функции. Структуру и семантику доступных паттернов..

Руководство по стрелкам на диаграмме классов UML
Диаграммы классов - это наиболее распространенный и простой способ изобразить основы конструкции системы. Стрелки, которые представляют отношения между классами и интерфейсами, являются наиболее важной, но самой сложной частью диаграмм классов. Люди часто сталкиваются с проблемой выбора правильного типа стрелки, отражающего характер отношений между сущностями. Это руководство призвано помочь вам выбрать правильные типы стрелок и быстро составить детальную диаграмму классов. Но..

Не добавляйте ненужный контекст
Речь идет о классе, в котором есть поля и методы, имя которых повторяет имя класса. См. приведенную ниже диаграмму класса для ученика. Глядя на диаграмму класса, становится ясно, что весь этот класс посвящен ученику. Однако, как вы думаете, действительно ли добавление слова «Студент» в поля и методы приносит пользу? Вам не кажется это излишним? Это больше похоже на У ученика есть имя ученика. У студента есть дата рождения студента. Получить студенческий возраст студента...

Принцип DRY - плохой совет
Принцип DRY, вероятно, является первой концепцией разработки программного обеспечения, которую вы усвоите, когда начнете писать код. Звучит очень серьезно и убедительно, ведь аббревиатура есть! Кроме того, идея не повторяться глубоко перекликается с причиной, по которой многие из нас любят программировать компьютеры: чтобы освободить нас от отупляющей повторяющейся работы. Это концепция, которую очень легко понять и объяснить (мне все еще приходится гуглить замену Лискова всякий раз,..

Ввести объясняющую переменную
Занимаясь парным программированием с разработчиками, я заметил, что некоторые из них не решаются вводить объясняющую переменную . Они больше беспокоятся о том, что другие разработчики думают об этой дополнительной переменной. Не будет ли лишним иметь дополнительную переменную? Что ж, посмотрим: До В приведенном выше фрагменте кода (…даже несмотря на то, что он простой) сравнение размера файла с произвольным числом не дает четкого представления о каком-либо бизнес-правиле. Вы..

Будьте декларативными везде, где это возможно
Раздел Императивное программирование » фокусируется на описании как работает программа. Возьмем пример приведенной ниже функции isPresent . Конечно, он ищет число (поисковое слово) в массиве чисел и отвечает true или false. Если вы внимательно наблюдаете, он фокусируется на том, как ищется номер. Он повторяет каждое число одно за другим в массиве чисел и проверяет, выполняются ли критерии ( часть HOW: for/if ). В конце концов, он сообщает вам, присутствует ли число в..

Синглтон шаблон
Вы потратили на это приложение 9 долларов, а то и больше, или получили его бесплатно. Проблема в том, что, кажется, нужно вечность, чтобы начать. Скажем, еще десять секунд, если в среднем вы используете это приложение один раз в день, то это 3650 секунд в год, а мы знаем, что время — деньги. Это реальная цена плохого дизайна, это дорого. Одной из возможных причин длительного времени запуска является тот факт, что компоненты или объекты инициализируются без необходимости. Одним из..