При проектировании приложений на C++ временами возникает необходимость предоставления доступа к закрытым методам класса другому классу или свободной функции. Для этого в языке C++ есть ключевое слово friend, которое предоставляет полный доступ не только к публичному интерфейсу класса, но и к закрытому, и всем деталям реализации. Таким образом friend работает по принципу «все или ничего» и «все» может быть слишком много. Например, когда есть класс Facade и несколько клиентов Client1, Client2, то может потребоваться предоставить каждому клиенту доступ только к определенному набору методов, причем каждому клиенту к своему набору, не предоставляя доступа к деталям реализации. Для решения такой задачи в C++ есть все возможности. В этой статье я расскажу про две идиомы Attorney-Client и Passkey и как их использовать с нулевыми накладными расходами.
Читать полностью »
Рубрика «проектирование» - 14
Идиомы Attorney-Client и Passkey для выборочного доступа к методам класса
2017-04-14 в 12:49, admin, рубрики: c++, ооп, проектирование, Проектирование и рефакторинг, Совершенный кодКак мы в Бауманке болид собирали: зачем студенческой команде понадобились PLM-технологии
2017-04-13 в 10:15, admin, рубрики: bauman racing team, PLM, Блог компании ГК ЛАНИТ, болид мгту, проектирование, Терминология IT, Управление продуктом, управление проектами, управление проектированием, управление разработкой, метки: PLM, управление проектированиемВсем привет! Я учусь в Московском государственном техническом университете имени Н. Э. Баумана на кафедре Э2 «Поршневые двигатели». В этой статье я хочу рассказать о том, какие выводы мы сделали, участвуя в Formula SAE – международных инженерных соревнованиях студенческих команд по созданию гоночных автомобилей типа «Формула», и почему решили перейти на цифровое проектирование. Сейчас мы начинаем внедрять в нашей лаборатории, где собирается болид, систему управления жизненным циклом изделия (Product Lifecycle Management, PLM). Первый этап – обучение, и в этом нам помогает компания ЛАНИТ. Наш опыт может быть полезен студентам технических специальностей, которые работают над схожими задачами или хотят собрать свою университетскую команду для участия в Formula SAE, а также небольшим конструкторским бюро, которые уже задумываются о переходе на цифровое проектирование.
Фото Хабрахабра
Читать полностью »
Создание барабанного круглошлифовального станка
2017-03-29 в 14:01, admin, рубрики: diy или сделай сам, конструирование, механика, проектирование, сделай сам, шлифовальный станок, электрика, Электроника для начинающихВведение, предыстория
Мне бы хотелось рассказать о процессе конструирования и изготовления деревообрабатывающего станка. Описать именно сам процесс, в комплексе, со всеми нюансами, с небольшими вставками по специализации в каждой из затрагиваемых отраслей знаний (проектирование, конструирование, электротехника, изготовление и проч.). Без углубления в излишнюю эмоциональность и процесс, и, в то же время — без сухих научных фактов и теоретизирования. Ориентируюсь на популярное и научное изложение, но не без деталей и субъективного мнения )
Предыстория такова: одно время я занимался деревообработкой и мне нужно было шлифовать и плавно выводить криволинейные поверхности на заготовках из твердых пород дерева. начал я этот путь с напильника и ножовки, но быстро понял, что ручной труд хорош только в школе, а для производства надо использовать энергию электричества.
За первым подобным станком я поработал у родственника в гараже, второй сделал самостоятельно, сейчас представляю вам третью реализацию этого изделия.
О том, как мы начинали разрабатывать собственную систему управления проектами и что из этого получилось
2017-03-22 в 15:00, admin, рубрики: mysql, php, web, Программирование, проектирование, проекты, управление… На дворе стояла середина жаркого лета 2013-го. В компанию Х устроился молодой и слегка зеленый сисадмин, с базовым пониманием об администрировании и еще более базовыми знаниями php и сопричастными mysql, html, css, js.
Компания та была пропитана модными веяниями и на понятие «ИСУП» (Информационная Система Управления Проектами), разве что не молились, полагая что с введением оной, польются молочные реки и по нажатию 1 кнопки любой заказ будет выполнен четко, качественно и полностью автоматически.
Но, в связи с некоторыми особенностями работы компании Х, «стандартные» системы из коробки, к с частью или к сожалению, не подходили и именно с этого момента началась эта история…
Удобная памятка и 8 ссылок на документацию по ГОСТ 34 (автоматизированные системы)
2017-02-17 в 3:20, admin, рубрики: Блог компании Инфосистемы Джет, инфосистемы джет, проектирование, Терминология IT, управление итОдним пятничным вечером несколько лет назад я получил задание от руководителя подготовить за выходные ТЗ на конкурс. Видимо, я слишком уж излучал радость от предстоящих выходных, и боссу просто было приятно занять их чем-то новым и интересным, как он считал – ведь до этого с техническими документами мне работать не доводилось. Сейчас уже не смогу припомнить, какая там была система, но точно какой-то мониторинг. Субботнее утро принесло разочарование. Миллионы ссылок, сотни статей одна другой информативнее. От одной аббревиатуры ГОСТ веяло скукой и пылью. Примерно так и началось мое знакомство с семейством ГОСТ 34 на автоматизированные системы. Под катом удобная памятка по этому самому ГОСТу, которая совершенно случайно когда-то повстречалась на просторах сети и помогла систематизировать данные в знатном ворохе документов.
Читать полностью »
Структура «Feature Folders» в ASP.NET Core MVC
2017-02-08 в 1:00, admin, рубрики: .net, ASP, asp.net core, asp.net mvc, C#, feature folders, проектирование, Проектирование и рефакторинг, Разработка веб-сайтов
Первая версия ASP.NET MVC появилась еще в 2009 году а первый перезапуск платформы (ASP.NET Core) начал поставляться с прошлого лета. На протяжении этого времени структура проекта по умолчанию осталась почти неизменной: папки для контроллеров, представлений (views) и часто для моделей (или, возможно, ViewModels). Такой подход называется Tech folders. После создания нового проекта ASP.NET Core MVC организационная структура папок имеет следующий вид:
В чем проблема со структурой папок по умолчанию?
Большие веб-приложения требуют лучшей организации чем маленькие. Когда есть большой проект, организационная структура папок, которую используется по умолчанию в ASP.NET MVC (и Core MVC), перестает работать на вас.
Читать полностью »
Как оценивать большие задачи
2017-02-06 в 13:40, admin, рубрики: agile, Блог компании Mindbox, оценка времени, оценка задачи, оценка трудозатрат, проектированиеСуществует множество способов оценить пользовательские истории. Мы используем собственную методологию, чтобы оценить и проработать задачи перед тем, как писать код. Как мы до этого дошли и почему наш подход лучше, чем Planing Poker, читайте под катом.
История о дизайнере, покоряющем математику
2017-02-06 в 8:34, admin, рубрики: Wirex, Блог компании Wirex, геометрия, дизайн, математика, Научно-популярное, проектирование, фигурыАвтор материала — дизайнер мобильных приложений. В своем посте он подробно описывает собственный путь в освоении математики, а также рассказывает о влиянии, которое точные науки оказали на его основную работу.
Я терпеть не мог математику
Математика меня раздражала. В юности мне казалось совершенно бессмысленным тратить столько времени на решение математических задач, когда вокруг было так много других интересных занятий!
На самом деле, если подучить математику, можно создавать прекрасные концепты!
Во время учебы в университете я записался на курс интерактивных искусств. Там меня показали, как творить с помощью кода в Processing. Вот один из примеров — восхитительная работа Мариуса Уотца (с тех пор я его поклонник).
Читать полностью »
Инфраструктура простой электронной подписи. Часть 4: Практические аспекты реализации
2017-02-01 в 3:48, admin, рубрики: IT-стандарты, Анализ и проектирование систем, архитектура системы, инфраструктура, проектирование, простая электронная подпись, Разработка под e-commerce
В части 1, части 2, части 3 были рассмотрены основные системы инфраструктуры ПЭП. В этой части будет рассмотрен порядок проектирования для практической реализации инфраструктуры. Сразу отмечу, что описание носит обобщенный характер, и не является ни туториалом, ни инструкцией, ни руководством. Как было отмечено в первой части, вся статья представляет собой только личное видение, основанное на практике внедрения ПЭП в информационные системы агентов, оказывающих сложные, многоэтапные технологические услуги. Цель внедрения ПЭП — расширить географию обслуживания за счет переноса в сеть Интернет документооборота при оказании услуги физическим лицам и минимизации необходимости личных визитов клиентов в офис компании. Для упрощения примера, не будем рассматривать большие компании со сложным документооборотом, а возьмем абстрактную компанию, оказывающей услуги домашней автоматизации. Документооборот услуги такой компании в минимальном варианте состоит из заявки на проектирование, договор с техническим заданием и акта выполненных работ.
Читать полностью »
Отчет и материалы конференции MageConf 2016
2017-01-31 в 20:53, admin, рубрики: cqrs, e-commerce, mageconf, mageconf 2016, Magento, magento 2, php, архитектура, конференции, мадженто, проектирование
10 Декабря 2016 года в Киеве прошла конференция MageConf 2016. Тематика конференции — весь стек технологий, используемых в Magento. Конференция прошла в 2 потока: Backend и Frontend.
Под катом вы сможете найти видео всех докладов презентованных на конференции:
Читать полностью »