Модульные композиции для проектирования объектов дизайна и изобразительного искусства

«Модуль» (с англ. «module» — часть, единица чего либо) – то есть, это какая-либо часть, единица, выраженная в слове, форме, линии, событии и т.д., и т.п.. В данном случае нас интересует любая часть изображения и/или композиции изображения: например, в изобразительном искусстве это элементы  формальной композиции, композиции в живописном или графическом изображении, в дизайне – в композиции объектов дизайна.

           На примере объектов станковой живописи и графики, выполненных в реалистической изобразительной манере, стилизаций и/или трансформаций объектов природы и натюрмортов мы выявим модули в композиции изображения и проанализируем, как подобные модули переходят в форму или композицию объектов дизайна. И на основе анализа исследуемых композиций выявим методику составления (проектирования) объектов дизайна.

           Проще говоря, попытаемся выявить одну из методик проектирования объектов дизайна, основанную на законах формальной композиции и способности художника и/или дизайнера:  во-первых,  «видеть» модули в предметах, объектах и окружающей человека природе и во-вторых, уметь  применять модули в композициях объектов дизайна и изобразительного искусства.

           Источником вдохновения для художников и/или дизайнеров всегда была природа, человек, эмоции восприятия окружающего мира, внутренний мир человека, история цивилизации, события, авторы и их работы в различных видах и жанрах искусства и культуры: и этот источник неиссякаем, как неиссякаема природа и человек в своем развитии и проявлениях. Каждый раз при проектировании чего-либо необходима идея, а идеи, как известно «витают» в воздухе. Самое важное уметь их «увидеть».  Возможно, анализируя всё выше изложенное, можно предложить новый способ, метод проектирования в дизайне, новый метод создания  композиции в объектах изобразительного искусства.

 

           Модульные композиции в пейзаже.                           

 

           Рассмотрим несколько живописных работ с изображением пейзажа в реалистической живописной манере, для того, чтобы какая-либо другая живописная манера не «закрывала» природные «модули» данной композиции.

           В изобразительном искусстве пейзаж очень распространенная тема для изображения. В процессе обучения художники в обязательном порядке выходят на пленэр и пишут этюды пейзажей, на свое усмотрение, выбирая сюжет и ракурс изображения.  Для обучения построения формальной композиции пейзажа, копируют лучшие в этом жанре работы художников. И каждый раз наше впечатление захватывает та работа,  в которой есть что-то новое и необычное: или композиция, или объекты (модули) композиции, или цветовая палитра, или манера живописи, или и то и другое, или все перечисленные компоненты «сошлись» в единое гармоничное целое.

           Модулями в пейзаже могут быть любые объекты живой и неживой природы, объекты, созданные руками человека, силой природной стихии или законами физики или других естественных наук, результаты  действия которых, мы можем выявить в природе, пейзаже. Если эти модули рассматривать как части той или иной композиции, то необходимо рассматривать композицию из них как статичную, динамичную, симметричную, ассиметричную,  с активным  центром  композиции или без него, создающую общую форму из модулей,  её рассыпание или какое-либо построение в том, или ином ритме. Законы  составления  формальной композиции для создания на её основе живописного полотна, как самостоятельного объекта изобразительного искусства, позволяют апеллировать природными модулями при разработке композиционного и живописного ритма картин. Ни один из художников-станковистов или художников прикладных изобразительных искусств не создает своих работ без разработки композиций, а любая формальная композиция состоит из тех или иных элементов. Назовем их  «модулями»  и на примере ряда живописных работ современных художников   в жанре «Пейзаж» постараемся  их выявить, определить и проанализировать их воздействие  на нас через композиционное построение и  реалистическую манеру живописи.                                

 

Рис.1  Живописное полотно «Мороз». Холст, масло. 

           Например, композиция живописной работы «Мороз» Золоткова Александра состоит из фрагментарно «выхваченных» из лесного зимнего массива ритмично повторяющихся деревьев.   Они, словно «шагают» по ломаной диагонали слева на право,  собственно они и есть модули, разные, разновеликие, реалистично написанные на холсте маслом. Но художник, в  качестве акцента композиции, выводит на первый левый план сосну, у которой модулями являются ветки с почти светящейся рыжей хвоей под снегом. И это не может не привлекать внимание: соблюдены все законы построения формальной композиции, реалистичность изображения и, собственно, модульность, которая нас интересует сейчас, в рамках нашего исследования.

           В данной работе мы нашли два модуля:  деревья, как форма целиком, и часть формы дерева, ветки. Из всего этого и реалистичной манеры живописи мы видим впечатляющий объект изобразительного искусства. 

           Анализ живописных работ  в жанре «Пейзаж», выполненных в реалистической манере академической живописи,  с целью выявления  в   композициях картин модулей и их воздействия на восприятие живописных полотен. 

            Рассмотрим далее следующие живописные работы художников.   

Рис.2   Живописное полотно «Торос».  Холст, масло. 

           В композиции картины  «Торос» Федина Александра модулями являются части льда, образующие торос. Их композиция очень естественная,  динамичная, куски льда  разного размера, написаны почти «фотографически» и создают ощущение, что торос  двигался  только минуту назад.

                               

Рис.3  Живописная работа «Гаражи». Холст, масло. 

           Полотно Коневских Константина «Гаражи» написано в стилизованной живописной манере, крупными мазками кистью, но всё-таки относится к реалистичной манере изображения. Видимо, такая техника письма маслом на холсте, понадобилась художнику для подчеркивания динамики в статичной природной композиции гаражей и камней, затопленных водой. Небо    написано крупными мазками широкой кисти, что тоже создает модульность композиции неба, хотя явных модулей, к которым можно отнести старые гаражи и камни, в небе нет. Такое использование в композиции естественных природных модулей, выбор живописной манеры создает сиюминутность присутствия смотрящего в сюжете или «внутри» композиции картины.                 

Рис.4   Живописное полотно «Роза хутор. Олимпийская деревня».  Холст, масло.

           Данная работа Плешкова Алексея великолепный пример, когда ритм спроектированного дизайнерами из модулей объекта средового дизайна — коттеджного поселка, после удачной реализации в природной среде вдохновил художника-станковиста на создание живописной картины. Композиция элементов Олимпийской деревни с этой природной точки зрения, повторяет ритм гор пропорциями высот зданий с заостренными крышами. Уменьшение размеров ширины и высоты коттеджей справа налево, создает ощущение движения зданий в пространстве. Что так естественно для многих видов спорта зимней олимпиады. Возможно, дизайнеры, проектировавшие Олимпийскую деревню, учитывали не только ритм перепада рельефа местности, но и динамику зимних олимпийских видов спорта. В итоге получился комплекс средового дизайна, как объект «природы» в пейзаже, вдохновляющих уже художников на создание композиции для картины.

           Природные модули: горы, рельеф местности дали идею для дизайнеров. А удачная реализация дизайнерского проекта гармонично украшает и дополняет пейзаж в картине художника-станковиста.          

Рис.5  Живописное полотно «Забытая деревня».  Холст, масло. 

           Картина Мефокова Николая «Забытая деревня» написана в классической академической манере, великолепно передающей засыпанность  снегом, возможно отдаленной от города, деревеньки, которую и Зима не желает никому показывать. Но ритм композиции через местоположение и развернутость домиков и их снежных крыш, при явном движении размеров  вовнутрь картины по ломаной, зигзагообразной линии от горизонта, только подчеркивает наличие активной жизни в деревеньке. Мало того,  на горизонте мы видим едва различимую массу  то ли леса,  то контура  города, дымок над крышами, по цвету и манере мазка, сливается со свежевыпавшим снегом, всё это лишь прибавляет ощущение жизни, несмотря на название картины.

          Модульная композиция этой работы, состоящая  из домиков, деревьев, дымков и крыш, нестандартна с точки зрения построения ритмов в формальной композиции живописных работ и создает необычное ощущение «живости» природы, подчеркивая её красоту и силу.               

Рис.6   Живописное полотно «В ожидании».  Холст, масло.      

           Константин Коневских в своей работе «В ожидании» создал широкоформатную, почти кинематографическую композицию из, словно выросших  из земли, стоящих «толпой» на  пригорке, деревенских домиков. Цвета деревянных деревенских домиков, их крыш, почти невидимых из-за ширины и цвета живописных мазков, деревьев, боковой части пригорка создают ощущение единого природного массива, застывшего возможно на крутом берегу, невидимой на картине, реки.  

           И опять можно выявить в композиции модули: деревенские домики, их ритм размеров и месторасположения в композиции, живописные мазки  холма и неба, линии колодезных «журавлей» или столбов линии электропередачи, тропинок на боковой части пригорка, едва угадываемые камни берега реки в нижней части картины. Ритм уменьшения размеров модулей и направление мазков слева направо обеспечивают динамику в, казалось бы, статичной композиции изображенного пейзажа и, естественно, такая композиция в широкоформатном расположении создает ощущение бесконечности и широты, возможности  «увидеть»  ещё что-то, что, конечно же, есть за рамками картины.

 

            Анализ   композиций объектов дизайна, декоративно-прикладного и изобразительного искусства с целью выявления модульной композиционной системы природной среды (пейзажа), примененной  при создании  рассматриваемых объектов.                                                 

           Рассмотрим сначала работы художников в жанре «Пейзаж», написанные в отличной от академической живописи манере: а, именно, живописные стилизации и живописные работы, написанные мастихином, так как через анализ подобных работ, можно приблизиться к пониманию композиционного строя объектов дизайна.                                

 

Рис.7  Живописное полотно «Паутина времени».  Холст, масло.    

           Композиция Беловой Марии  «Паутина времени» схожа с композицией Мефокова Николая «Забытая деревня»: направление движения модулей (домиков, тропинки, деревьев и забора)  идет  по зигзагообразной кривой линии тропинки с  нижнего края картины вовнутрь изображения, все внимание притягивается к горизонту.   Стиль изображения в работе Беловой Марии  тоже подчеркивает силу воздействия названия картины, тем более что тонкая прорисовка отдельных элементов композиции (ветки деревьев, тени невидимых деревьев, подробная «прорисовка» деталей зданий в купе с цветовой палитрой и плотностью цвета), создают ощущение паутины и, даже, некоторой запыленности изображаемого. Хотя, общая композиция домов в обоих пейзажах, находится почти по центру формата, но она не разрушает, ни динамику, ни общий композиционный строй. Таким образом, в композициях двух разных авторов, с разными названиями и впечатлениями  художников от  пейзажей, географически находящихся в разных местах, при помощи модулей составлены почти одинаковые композиции из одинаковых объектов пейзажа, выявляемых в данном анализе, как модули. Значит,  можно сделать вывод, что  модульная  формальная композиция  иногда необходима для написания живописных работ  в любой живописной манере исполнения.  И, чаще  всего, почти  независимо от личности автора, воздействует на смотрящих,  решая сходные для таких работ задачи.

Рис.8  Живописное полотно «Теплый южный вечерок».  Холст, масло. 

           Работа Клещёва Андрея «Теплый южный вечерок» написана крупными мазками кисти и мастихина. Такая манера письма придает работе легкость манеры исполнения, свежесть красочного слоя, красоту «не смешивания» цветов масляных красок. А направление движения мазков «по форме» создаёт пастозность живописного слоя и подчеркивает реальность материальности пейзажа.  Написание живописных работ мастихином считается не академической живописью, а живописной стилизацией. В таких работах ярче проявляется модульность в построении формальной композиции: три лодки, опять «движутся»  по кривой зигзагообразной линии от нижнего края формата картины вовнутрь и приводят наше внимание к горизонту. Центром данной композиции является общая форма трех, находящихся недалеко друг от друга,  лодок. Яркие красочные мазки, создающие форму и разворот лодок, «работают» как модули тоже, и в контрасте с холодной гаммой красочного  слоя моря и неба только оправдывают название работы. И, опять, мы выявили различного рода модули в  композиции картины,  усиливающие впечатления от пейзажа  и «помогающие» художнику  передать свои эмоции о теплом южном вечере.   

Рис.9  Живописное полотно «Вечерний трепет мачт».  Холст, масло. 

           В следующей работе Клещёва Андрея «Вечерний трепет мачт» яхты и мачты, как модули, создают какую-то массу, нечто единое целое.  Это целое из причаленных  яхт, составленное художником из цветных мазков, находится в центре не только композиции, но и формата картины. И на фоне моря и отражающегося в нем неба, почти ничем не отличающихся друг от друга на закате при безветренной погоде, создают ощущение «зависания» яхт в пространстве, в воздухе.  Тонкие линии мачт,  именно, своим наклоном относительно статики массы яхт и подчеркивают возможность «видеть» их качание, движение или как определил художник «трепет». 

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

 

           Перейдем к рассмотрению применения модульных композиций в пейзаже при проектировании объектов дизайна. Перед нами графическая работа  акварелью Полищук Ольги «Город». Такая работа,  как постер (объект графического дизайна),  украсит любой интерьер: детскую жилую комнату, игровую комнату в детском саду, больничную палату для детей и не только.                               

Рис.10  Графический лист «Город».  Бумага, акварель. 

           В таких работах, а именно, живописных стилизациях, модульность композиций, ритм их расположения и, в данном случае, динамика при симметричности композиции выступают на первый план восприятия. Это первое чем впечатляется человек, увидевший эту работу.  Движение в композиции стилизованных элементов городского пейзажа по кругу,  усиливают силу воздействия на детское восприятие «круговерти» города своими размерами и застроенностью  города  домами.  И не только  на детское восприятие: у любого смотрящего на эту работу взрослого человека, могут появиться похожие эмоции.  Такова сила воздействия  «упрощенных», стилизованных   модулей  городского пейзажа, составленных в  динамичную композицию этой работы.  

                   

                               Рис.11  Живописная стилизация «Живой лес».  Холст, акрил. 

           Композиция Саленко Ирины «Живой лес» может быть рассмотрена, как основа для разработки принта для ткани (графический дизайн), создания гобелена или ковра (объектов средового дизайна), росписи ширмы (объект декоративно-прикладного искусства) или стены в общественном интерьере.  И ни в одном из перечисленных случаев, композиция не проиграет в уместности применения или цветовой палитре. При этом, собственно, уместно применение любой цветовой гаммы, так как композиция, своим ритмом, набором модулей, их манерой стилизации, деталировкой позволяют применить данную модульную композицию в производстве различных объектов промышленного, графического и средового дизайна.  Не говоря уже о дизайне костюма: любой её элемент украсить пальто, аксессуар. А так же тарелку, кружку, постельное или столовое бельё, интерьер или фасад здания.  

Рис.12 Ширма «Город».  Авторская роспись. 

           Работа Королёва Дмитрия «Город» представляет собой модульную композицию из элементов городского пейзажа, разработанную для росписи ширмы при применении её как арт-объекта в интерьере.  При  сохранении академической живописной манеры росписи ширмы, композиция за счет активного акцента на модульности, не создает ощущение живописного полотна, как объекта станковой живописи. Именно это и важно при разработке арт-объектов или объектов дизайна: присутствие уместно стилизованных модулей в сюжетной композиции и трансформация их в объекты дизайна.  

Рис.13   Эскизы моделей формы для мужчин и женщин Олимпийской сборной США на основе изображения государственного флага (встречающегося на флагштоке  почти в каждом дворе городов США) и пример модульности в комплектации и декорировании комплектов спортивной одежды.

Рис. 14  Разработка коллекции одежды на основе модулей объекта природы – лепестков бутона цветка.   

Рис.15  Объект промышленного дизайна (лежак для пляжного отдыха) разработан на основе впечатлений от объектов природы. 

            Великолепный пример объекта промышленного дизайна  утилитарного назначения. Лежак своей формой одновременно напоминает и прибрежную морскую гальку, и ствол дерева,  «выточенных»  стихиями природы, ветром ли, рукой ли человека. Красивая трансформация распилов целиковых стволов деревьев в металлические полосы, согнутые по форме  ствола дерева и ритмично составленные в композицию формы лежака, эргономично повторяют отпечаток тела человека со спины на песке, показывая нам мастерство и нетривиальный взгляд дизайнера, проектировавшего данный объект,  на формообразование предметов утилитарного назначения. Лежак можно производить в любом цвете, и  он всегда украсит и в одиночестве, как арт-объект, и в «коллективе» себе подобных любой интерьер или экстерьер, например: дачный участок,  зону «дикого» пляжа, территорию бассейна.  

          Далее представлены фотографии, наглядно показывающие один из способов анализа формы природного объекта и трансформации его в арт-объект и объект средового дизайна.

 

Рис.16 Природный объект «камень», как источник вдохновения для дизайнера.  

          Цельные природные формы, своей необычностью, негеометричностью и, как правило, естественностью пропорций привлекают творческое внимание дизайнеров. На основе впечатлений от таких объектов природы в мире разрабатывается огромное многообразие предметов промышленного дизайна, объектов среды обитания человека, инсталляций и арт-объектов. 

Рис.17  Арт-объект, созданный искусственно в природной среде (в пейзаже), напоминающий камень.

 

Рис.18  Объект средового дизайна, малая архитектурная форма «жилой дом» или «коттедж», напоминающий своей формой, объект природы в пейзаже — камень.
 

Рис.19   Объект средового дизайна «Жилой комплекс».

           На фото видно, что композиция данного объекта средового дизайна разработана на основе стилизации природной среды (пейзажа) и элементов городской среды (кварталы Европейских городов) и достаточно гармонично вписана при реализации в природный ландшафт. Конечно же, данный объект привлекает внимание своей формой, созданной из геометрических модулей, словно составленный из блоков прессованного песка или светлой глины он создает своей образностью ощущение ирреальности пейзажа. И, хотя, мы понимаем, что это реально выстроенный объект, возможно, даже заселенный людьми,  ощущение неправдоподобности не проходит. Такова сила воздействия модульной композиции, её формы, цвета и материальности.

  

Рис.20  Пример экспозиции картин или фотографий на основе построения композиции из одинаковых разновеликих модулей.

 

Рис. 21  Пример отделки фасада здания на основе композиции из двух разновеликих модулей из разных материалов (стекло, фасадная плитка с зеркальной поверхностью, вентиляционная решетка).  

           Модульность композиций в инсталляциях, созданных в парковой среде, также подтверждает   влияние элементов природы на дизайнерское мышление при выявлении идеи и концепции для разработок объектов дизайна.  Возможно, через создание инсталляций, дизайнеры «проверяют» силу воздействия подобных композиций на людей. И затем уже решаются применять их в формообразовании композиций комплекса объектов дизайна или отдельных предметах и коллекциях. 

Рис.22  Инсталляция в парковой зоне из известняковых модулей (кубы, созданные из известняка руками человека при помощи строительных инструментов и/или обрабатывающих камень промышленных станков).

 

Рис.23  Другой ракурс инсталляции в парковой зоне из известняковых модулей (кубы, созданные руками человека из известняка при помощи строительных инструментов и/или обрабатывающих камень промышленных станков).

Рис.24  Пример модульной композиции внутреннего двора  жилого комплекса в Китае с водоемами и садом для отдыха.

 

Рис. 25  Композиция промышленных зданий, как часть модульной пространственной композиции, при проектировании территории производственного комплекса (объект средового дизайна середины 20 века).

Рис. 26  Жилой комплекс в Канаде (объект средового дизайна), как пример фронтальной модульной композиции в проектировании городской среды.

  

Рис. 27  Форма выставочного павильона (объект средового дизайна) созданная на основе разновеликих одинаковых по форме модулей из металла, стекла и зеркальных поверхностей.
 

Рис. 28 Пример дизайна интерьера (объекта средового дизайна) в стиле «минимализм» на основе разновеликих разных модулей (предметы оборудования и декорирования интерьера) в ограниченной цветовой черно-белой гамме.

  

 Рис. 29  Пример экспозиции передвижной выставки, созданной на основе модульной композиции  из  четырех разных, но  равновеликих модулей.

 

            Казалось бы, и модули одинаковые, и величины их равны, но возможность одного модуля при желании дизайнера выдвинуть   элементы композиции на разные высоты, создает возможность составить композицию достаточно динамичную в контраст статики месторасположения в пространстве. 

Рис. 30  Разворот раздела журнала или книги (объекты графического дизайна) с использованием модульной композиции из стилизованной женской фигуры. 

           В композиции использованы стилизованные фигуры всего в двух положениях, но в композицию они составлены с динамичным чередованием, уменьшение размеров идёт справа налево, создавая волнообразную линию роста (высоты) фигур и это очень удачно акцентирует динамику всей композиции. Кажется, что группа женщин движется на нас из центра формата, монолитно и динамично, но, при этом,  у некоторых фигур весьма схематично нарисованы руки и  ноги. При разработке коллекций одежды почти все дизайнеры одежды используют приемы стилизации, рисуя коллекцию на уровне фор-эскизов схематично в динамике или статике, конечно в зависимости от того, кто как ощущает свою новую коллекцию, используя некие образные схематичные модули для «визуализации» своих образов и мыслей.  

Рис. 31  Фешн-иллюстрация: Модели из коллекции одежды от Ann Demeulemeester , созданные на основе модульности проектирования моделей и их комплектации.
 

Рис. 32  Эскиз коллекции одежды на основе разработки комплектов одежды из стандартных изделий и изделий, композиция которых составлена из модулей стилизованных частей цветов и растений.  

Рис. 33 Тарелки, как объекты, созданные на основе соединения форм промышленного дизайна  и изображений графического дизайна. Фарфор, компьютерные технологии, промышленная печать по сложной форме. Пример декорирования тарелок сюжетными композициями из модулей (стилизованных фигурок людей). 

 

Рис.34  Плакат «We shoot  with love» (объект графического дизайна). 

           Композиция изображения в плакате состоит из сложных равновеликих модулей  — человеческая рука с оружием (пистолеты, наганы различной модификации) в динамичной  горизонтальной компоновке в заданном формате. Одна и та же рука, создающая ощущение толпы  «за кадром», ритм направления оружия, различная форма и модель самого оружия, юмор художника в разнообразии образности «пуль», не  отделяющихся от ствола,  одновременно поддерживают и смягчают напряжение сюжета изображения и смысл текста «Мы стреляем с любовью».    

Рис. 35  Плакат на основе приемов фотографики (объект графического дизайна). 

           Композиция плаката составлена из фотоизображения города  (как объекта модульной композиции) и «тактично» вписана средствами компьютерной программы Photoshop в безличностный портрет мальчика.   

Рис. 36 Постер (объект графического дизайна). 

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

           Заключение. 

          Мы рассмотрели и проанализировали объекты изобразительного искусства и дизайна, декоративно-прикладного искусства, инсталляции и экспозиции для выставок.  И во всех композициях этих объектов можно выявить модули. Модули могут быть реалистичными, стилизованными, схематичными, в виде плоских или объемных геометрических форм.  Они могут применяться в одинаковых или разных размерах, цветах и вариациях форм, но всегда ритм построения композиции из них, ритм изменения размеров  и направление «движения» в формате будут помогать художнику или дизайнеру решать задачи воздействия на потребителя проектируемых объектов или сюжетов изобразительных картин. Именно «незаметность» модульности в картинах художников заставляет привлечь наше внимание к ним. А в объектах дизайна, инсталляциях, как раз наоборот,  их «заметность» и привлекает, что сразу же и выделяет эти объекты из ряда им подобных, тем более, если ритм композиции необычен, нов, а сами модули неожиданно «неизвестны» и открыты нам как бы заново, под новым ракурсом восприятия.

        Итак,  в обучении художников процессу разработки формальной композиции будущей картины,  или в обучении дизайнеров методике проектирования, следует научить их «видеть» модульность в окружающей среде и природе. А  также  учить их стилизации, анализу увиденного и применению этих навыков в своей творческой деятельности по созданию объектов изобразительного искусства и дизайна.

Модуль и сетка — Принципы — Контур.Гайды

Принципы

Цвет

Модуль и сетка

Отступы и выравнивание

Текст в интерфейсе

Глоссарий

Тексты ошибок

Текстовые стили

Типографика

Время отклика

Интерактивность

Анимация

Сохранение данных

Доступность интерфейсов

Клавиатура

Капча

Печать

Валидация форм

Поиск и фильтры

Фильтры в таблицах

Проектировщик

Модель оценки проектировщика

Полугодовые цели

Верстка макета

Как писать гайды

Мобильные приложения

Пользовательские исследования

Юзабилист

Принципы пользовательских исследований

Принципы работы с опросами

Выбор метода ЮТ

Как подготовить прототип к ЮТ

Анализ данных исследования

Презентация результатов и артефакты

Компоненты

Поле ввода

Автополе

Комбобокс

Поле с токенами

Поле с валютой

Поле поиска

Поле с датой

Поле с маской

Поле с паролем

Поле с телефоном

Многострочное поле

Ссылка

Кнопка

Кнопка-меню

Кебаб-меню

Чекбокс

Тогл

Радиокнопки

Переключатель

Раскрывающийся список

Меню

Модальное окно

Табы

Пейджинг

Ещёкалка

Скролл

Бесконечный скролл

Хинт

Тултип

Тост

Нанобокс

Сайдпейдж

КЛАДР

ФИАС

Спиннер

Прогресс-бар

Глобальный лоадер

Отправка файла на сервер

Подтверждения

Экраны

Шаблоны экранов

Шапка

Подвал

Центр поддержки

Приветственные страницы

Страницы ошибок

Письма

Ресурсы

Библиотеки компонентов

Иконки для интерфейса

Иконки продуктов

Иконки возможностей

Логотипы

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

Мы используем модуль везде, где это не нарушает эстетики и не противоречит здравому смыслу.

Зачем нужен модуль

Использование модуля делает дизайн вычисляемым и более предсказуемым:

Модуль упрощает выбор размеров

Без модуля шагом становится 1px и выбирать приходится из избыточного количества вариантов. Модуль ограничивает выбор и экономит время на рутинных задачах верстки.

Модуль делает решения объяснимыми

Когда дизайнеры Контура выбирали радиус скругления кнопок, потребовалось провести голосование. Если системы нет, остается руководствоваться мнением большинства — в ретроспективе результаты таких решений выглядят малопонятными.

Модуль ускоряет перенос дизайна в код

Если разработчик знает, что все размеры должны быть кратны 8px, то отступ в 7px в макете не вызовет вопросов. Разработчик сам примет правильное решение и исправит ошибку без обращения к дизайнеру.

Почему 8

Исторически интерфейсы Контура верстались с отступами, кратными 5 и 10px, — стандартный выбор для небольших проектов, где удобство круглых цифр важнее системности. Но шаг 10px проигрывает 8px, когда речь заходит о построении на основе одного модуля всей дизайн-системы.

Модуль 8 пикселей:

  • Можно более последовательно использовать во всех элементах дизайна: контролы, иконки, типографика
  • Имеет меньший шаг — больше вариативности
  • Имеет два подмодуля 4px и 2px, а не один, как у 10px
  • Объекты с размером, кратным 0,5m, всегда можно разместить по центру, в отличие от 10px сетки, в которой подмодуль нечетный
  • Это отраслевой стандарт

Принципы

Модуль 8px — основной, обозначается «m». В размерах до 40px допустимо использовать шаг в полмодуля, 0,5m.

Например, у шрифта размером 14px предусмотрено две высоты строки: 24px для основного набора и 20px для коротких подписей, где нужна компактность:

Модуль имеет прикладное значение — является ориентиром для выбора размеров, но самостоятельной ценности у него нет, поэтому макеты не нужно фанатично вписывать в восьмипиксельную сетку.

«Сетки объясняют не красоту макета, а его закономерности». Данил Ковчий

Подробнее о том, как использовать модуль в верстке, написано в гайде «Отступы и выравнивание».

5 основных элементов модульного дизайна программного обеспечения

Почему мы так заботимся о модульном дизайне? Позвольте мне рассказать вам историю о моем друге Майке Келли. В 2016 году он устроился на подработку, чтобы создать простую платформу для курсов. Поскольку это была подработка, а Майку было скучно, он предложил выполнить эту работу по значительно сниженной ставке, если он сможет сохранить права на исходный код. Это был блестящий ход. У этого клиента был охват, и другие люди начали спрашивать о его работе. «Это действительно хорошая платформа. Его действительно легко использовать. Это быстро и хорошо работает. Что это?»

Майк решил прощупать почву. Его план состоял в том, чтобы упаковать продукт так, чтобы его было проще установить на оборудование каждого клиента. Он быстро понял, что поддерживать программное обеспечение в среде каждого клиента будет кошмаром. Вместо этого он перешел к решению «программное обеспечение как услуга», размещая курс каждого клиента в одном месте за ежемесячную плату. Так родился MemberVault.co.

MemberVault выполнен успешно. Подписывалось все больше и больше людей. Майк бросил свою основную работу и вместе с женой начал работать полный рабочий день над маркетингом, продажами, поддержкой клиентов, ошибками и новыми функциями. Была только одна проблема. В спешке у него не было времени изменить свой первоначальный дизайн: каждому клиенту требовалась собственная база данных. Каждый новый клиент, бесплатно или платно, добавлял еще одну базу данных на свой сервер MySQL.

Перенесемся в 2019 год, и на сервере MySQL MemberVault будут тысячи баз данных. MySQL не предназначен для такого масштабирования, и проблемы с производительностью и памятью начали появляться. Майк должен был решить эту проблему в ближайшее время. Он, как известно, был привязан к железнодорожным путям, и локомотив несся на него.

Вот тут я и попал в историю. Я помог Майку продумать варианты, и мы нашли простое решение. Мы решили, что лучше всего будет придерживаться MySQL, но реорганизовать код для использования централизованной базы данных. Для большинства таблиц потребуется новая схема с добавленным полем clientId. Вопрос заключался в том, как реорганизовать существующую кодовую базу, перенести старых клиентов, свести к минимуму время простоя, минимизировать время разработки и избежать необходимости поддерживать две кодовые базы для разных схем базы данных во время перехода.

Решение оказалось удивительно простым (лучшие решения всегда таковы). Майк добавил поле clientId в существующие базы данных, хотя оно им не понадобилось. Он мог провести рефакторинг кода на месте, протестировать его и поэтапно развернуть, прежде чем внедрять новую централизованную базу данных. После того, как все заработало в существующих базах данных, он мог внести небольшую поправку в существующую логику маршрутизации базы данных, чтобы направлять всех новых клиентов в центральную базу данных, которая имела бы точно такую ​​же схему.

Он мог бы побеспокоиться о фактической миграции старых клиентов позже, на досуге, и ему все равно нужно было бы поддерживать только одну кодовую базу.

Проблема заключалась в том, что код Майка был беспорядочным. Он не был модульным. Она росла органично, поскольку он изо всех сил старался не отставать от всех потребностей успешной, растущей компании SAAS. Например, код для добавления пользователей был продублирован и разбросан по нескольким базам кода: вместо регистрации пользователя-члена, администратора-члена, администратора-члена, API и другие внешние интеграции.

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

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

Модульное программирование — это метод проектирования программного обеспечения, в котором основное внимание уделяется разделению функциональности программы на независимые взаимозаменяемые модули, каждый из которых содержит все необходимое для выполнения только одного аспекта желаемой функциональности - wikipedia

Как и в любой другой разработке программного обеспечения, конечной целью модульной конструкции является максимальное повышение производительности труда разработчиков. Мы хотим создать максимальную ценность программного обеспечения при минимальных затратах на разработку. Модульная конструкция повышает производительность разработчиков за счет управления сложностью.

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

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

Модульная конструкция дает нам сверхспособности в борьбе со сложностью.

Благодаря хорошей модульной конструкции нет предела тому, насколько высоко и далеко мы можем зайти с программным обеспечением. Модули дают нам суперсилу абстрагирования произвольной сложности за чистыми, простыми интерфейсами. Модульный дизайн может, если им владеют мастера своего дела, преобразовать сложность, которая экспоненциально растет с размером проекта, в проект, где сложность масштабируется сублинейно. Возможно даже, что проект станет легче добавлять функциональность по мере роста проекта.

Целью модульной конструкции является управление сложностью. Для этого мы должны одновременно минимизировать сложность каждого модуля, а также всей сети зависимостей модулей.

На практике цель состоит в том, чтобы максимально упростить проектирование, внедрение, тестирование, развертывание, обновление и обслуживание каждого модуля. 5 элементов модульной конструкции необходимы для достижения этой цели.

Сделать каждый модуль максимально простым в проектировании, реализации, тестировании, развертывании, обновлении и обслуживании.

  1. цель: Модуль — это абстракция с определенной целью. Его цель должна быть кристально ясной. Он должен иметь единую исключительную ответственность . Обязанности модуля должны быть

    узкими и сфокусированными , и ни одно назначение двух модулей не должно пересекаться.
    (принцип единой ответственности)

  2. интерфейс: Интерфейс модуля должен быть простым в использовании, понятным и простым для обеспечения правильности. Он должен предлагать все это без необходимости понимать какие-либо детали его реализации.
    Для этого API модуля должен быть четко определенным и задокументированным . API должен быть полным и минимальным . В нем должно быть именно то, что нужно и ничего лишнего. Наконец,

    должно быть трудно неправильно использовать . Самый простой способ использования модуля также должен быть правильным.
    (три принципа превосходного дизайна API Арно)

  3. инкапсуляция: Реализация модуля является частной . Модули должны выставлять как можно меньше. Они не должны раскрывать свою функциональную структуру, структуру данных или собственные зависимости. Любая деталь реализации модуля должна быть изменяемой, не затрагивая ни одного клиента.
    Это, пожалуй, самый важный элемент модульной конструкции. Все остальные четыре элемента можно выразить в терминах максимальной изоляции внутренней реализации от внешнего мира. Как абстракция, каждый модуль должен как

    водонепроницаемость по возможности. Утечки становятся случайными, скрытыми частями общедоступного API . Без строгой инкапсуляции вы получите неявные зависимости, которые могут иметь катастрофические последствия для масштабирования проектов.
    (закон дырявых абстракций Джоэла

  4. соединение: Соединения между модулями усложняют общую систему. Хорошо спроектированная модульная система сводит к минимуму зависимости между модулями. Минимизировать внешние зависимости каждого модуля и периодически пересматривайте общую модульную конструкцию, чтобы искать возможности снижения сложности.

  5. реализация: Чтобы модуль был простым в использовании, он должен хорошо работать. Модуль с лучшим назначением, интерфейсом и инкапсуляцией все равно не будет работать без хорошей реализации. Реализация модуля должна быть правильной , эффективной , проверенной и минимальной . Чем хуже реализация, тем дырявее абстракция.

Что не должно быть модулем

Как и в случае с любой техникой, модульная конструкция может зайти слишком далеко. Если вы разложите программу из 100 000 строк на 20 000 модулей по 5 строк, вы можете создать столько же беспорядка и головной боли, сколько и размещение всех 100 000 строк в одном файле.

Даже если фрагмент кода соответствует пяти элементам модульной конструкции, его выделение в отдельный модуль может оказаться излишним. Есть две вещи, которых следует опасаться, если вы чувствуете, что делаете слишком много модулей:

  • монозависимость: Если модуль используется только один раз в другом модуле, родительском, может не иметь смысла делать его отдельным модулем. Это нормально, даже хорошо иметь модули, которые имеют только одну зависимость. Их часто называют субмодулями. Пока они решают отдельную подзадачу для своего родителя, а также придерживаются других важных элементов хорошего модульного дизайна, они могут иметь важное значение для управления сложностью этого родителя.
    С другой стороны, если код используется два или более раз, особенно в разных модулях, он почти наверняка должен быть модулем, чтобы все было СУХИМ.

  • most-ceremony: Если у вас есть модуль, который, по вашему мнению, может быть ненужным, спросите, сколько кода он сэкономит, чтобы объединить его с его родителем. Если это монозависимый модуль, вы почти всегда сэкономите немного кода, но само по себе это не является веской причиной для демодуляризации. Однако, если вы сохраните что-то близкое к 90% размера кода модуля, просто свернув его в родителя, вероятно, это запах кода, который вы не захотите игнорировать.

Модуль с двумя или более зависимостями почти наверняка должен быть модулем, чтобы все оставалось СУХИМ.

Субъективная реальность модульности

Целью модульности всегда является уменьшение сложности и повышение ясности. Это, в конечном счете, субъективные суждения. Все, что я обсуждал в этой статье, является вторичным по отношению к взвешенному суждению вашей команды о том, что работает в вашем конкретном проекте.

Хорошо изучите правила, чтобы знать, как правильно их нарушать  — Далай-лама

Преимущества модульности

Основным преимуществом модульности является овладение искусством управления сложностью программного обеспечения. При правильном подходе хорошая модульная конструкция дает очень важные практические преимущества:

  1. понятность:  О хорошо модульной системе гораздо легче рассуждать, думать и общаться с другими.

  2. улучшаемость: Строго инкапсулированные модули расширяют ваши возможности по исправлению или улучшению реализации отдельных модулей без необходимости обновления каких-либо других зависимых модулей.

  3. рефакторинг:  Чем меньше взаимозависимостей в проекте, тем проще вносить большие изменения в несколько модулей.

  4. Возможность повторного использования: Модули с наилучшими целями полностью пригодны для повторного использования. Всякий раз, когда у вас снова возникнет та же проблема, вы можете просто повторно использовать старое решение.

  5. тестируемость: Модули с хорошими интерфейсами и минимальными взаимозависимостями легче тестировать. Хорошо спроектированные API можно легко протестировать. Модули с минимальными взаимозависимостями можно тестировать без необходимости использования макетов или более сложного интеграционного тестирования. Модули позволяют один раз написать тесты, убедиться в их правильности, а затем повторно использовать модуль без необходимости дальнейшего тестирования.

  6. Масштабируемость:  Все это составляет наиболее важное преимущество модулей: они позволяют масштабировать наши приложения. Невозможно создавать большие приложения без хорошей модульности. Без модулей сложность уничтожит вашу продуктивность.

Без модулей сложность уничтожит вашу производительность.

Выше, дальше, быстрее

Модули позволяют нам подниматься выше, идти дальше и строить быстрее. Модули — это строительные блоки виртуального ландшафта. Без модулей никуда. Мы можем создать удивительное программное обеспечение, возможное только сегодня, благодаря удивительной основе существующих модулей, на которые мы можем опираться. Язык программирования — это модуль. Операционные системы представляют собой набор модулей. Самые успешные языки имеют обширные библиотеки модулей (количество модулей зависит от языка). Некоторые модули используются десятилетиями и продолжают оставаться ключом к нашему коллективному успеху. В этом сила хорошей модульной конструкции.

Модули позволяют нам подниматься выше, идти дальше и строить быстрее.

Так что беги! Поднимите свои навыки модульного проектирования на новый уровень и создайте что-то потрясающее!

Дополнительная литература

Узнайте больше о модульном дизайне с практическим примером применения этих принципов к приложениям React-Redux JavaScript:

  • Часть 2: Modular Redux — масштабируемый Redux в половине кода

4.

1 Обзор модульной конструкции 4.1 Обзор модульной конструкции

Далее: 4.2 Модульность и параллельные вычисления Up: 4 Сборка компонентов Предыдущий: 4 Сборка компонентов

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

Обеспечение простых интерфейсов.

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

В качестве примера модульная реализация системы моделирования климата (рис. 2.3) могут определять отдельные модули, связанные с моделирование атмосферы, моделирование океана и т. д. Интерфейсы к каждому модуль может содержать небольшой набор процедур, которые обращаются к граничным данные, продвинуть симуляцию и так далее. Следовательно, нет необходимости в пользователь знакомится с реализацией различных модулей, которые в совокупности могут включать сотни процедур и десятки тысяч строк кода.

Убедитесь, что модули скрывают информацию.

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

  • связанные функции, которые могут выиграть от общей реализации или которые используются во многих частях системы,
  • функциональные возможности, которые могут измениться в ходе последующего проектирования или развертывание,
  • аспекты проблемы, которые являются особенно сложными, и / или
  • код, который предполагается повторно использовать в других программах.

Обратите внимание, что мы не говорим, что модуль должен содержать функции, которые логически связаны, потому что, например, они решают одну и ту же часть проблемы. Такой вид декомпозиции обычно не облегчает техническое обслуживание или продвижение повторного использования кода.

Используйте соответствующие инструменты.

Хотя модульные конструкции в принципе могут быть реализованы в любом язык программирования, реализация проще, если язык поддерживает сокрытие информации, позволяя инкапсулировать код и структуры данных. Основные механизмы в этом отношении включают процедура (или подпрограмма, или функция) с ее локальной областью список переменных и аргументов, используемый для инкапсуляции кода; в определяемый пользователем тип данных, используемый для инкапсуляции данных; и динамическая память выделение, которое позволяет подпрограммам получать память без участие вызывающей программы. Эти функции поддерживаются большинство современных языков (например, C++ , Фортран 90 и Ада), но отсутствует или находится в зачаточном состоянии в некоторых старых языках (например, Fortran 77).

Контрольный список проектирования.

Следующий контрольный список дизайна можно использовать для оценки успеха модульной конструкции. По-прежнему, на каждый вопрос следует ответить утвердительно.

  1. Идентифицирует ли проект четко определенные модули?
  2. Имеет ли каждый модуль четко определенную цель? (Можете ли вы обобщить одним предложением?)
  3. Является ли интерфейс каждого модуля достаточно абстрактным, что вам не нужно? думать о его реализации, чтобы понять его? Имеет ли это скрыть детали его реализации от других модулей?
  4. Вы разделили модули настолько, насколько это было возможно?
  5. Вы проверили, что разные модули не реплицируются функциональность?
  6. Изолировали ли вы те аспекты дизайна, которые являются наиболее аппаратными? конкретные, сложные или иным образом могут измениться?

Пример . Поиск по базе данных :

Мы используем простой пример, чтобы проиллюстрировать, как сокрытие информации соображения могут повлиять на дизайн. Для поиска записей в базе данных соответствующий заданному шаблону поиска, мы должны прочитать базу данных, выполнить поиск базу данных и запишите все найденные совпадающие записи. Один из возможных декомпозиция этой проблемы определяет ввод, поиск и вывод модули со следующими интерфейсами.

ввод (in_file, база данных)
 

поиск(база данных, search_pattern, совпадения)

вывод (out_file, база данных, совпадения)

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

Этот дизайн обеспечивает простые интерфейсы. Однако все три модуля зависят от внутреннего представления, используемого для базы данных, и, следовательно, должны быть изменены, если это представление изменено. Кроме того, каждый Модуль, вероятно, дублирует функции доступа к базе данных.

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

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *