Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 139 сообщений
Cообщения с меткой

oop - Самое интересное в блогах

Следующие 30  »
rss_habr

Советы по архитектуре кода для начинающих

Понедельник, 09 Января 2023 г. 15:20 (ссылка)

Для кого статья

Вы уже написали свои первые 1000 строк кода и сейчас хотите сделать их понятнее, потому что внесение изменений занимает столько-же времени, сколько написать заново, но советы из ООП, SOLID, clean architecture и т.д. непонятны вам.

О чем статья

Эта статья - не объяснение принципов ООП, SOLID своими словами, а попытка создать промежуточный уровень между никакой и чистой архитектурами. 100% советы будут накладываться друг на друга и перефразировать SOLID, но так даже лучше.

От кого статья

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

Отказ от ответственности

Уверен, каждый пункт из статьи может быть предметом спора, но на то это и вольный пересказ. Вся статья идет под эмблемой "Лучше применить такую архитектуру, чем не применять вообще никакой".

Формат статьи - наводящие советы / вопросы.

Читать далее

https://habr.com/ru/post/709670/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709670

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Возможно вам не нужен AutoMapper

Четверг, 22 Декабря 2022 г. 17:46 (ссылка)

Вы знали, что AutoMapper и MediatR создал один и тот же человек?

Джимми Богард создал две крайне обсуждаемые и спорные темы в .NET разработке. Если с MediatR уже разобрались, то c AutoMapper также хотелось бы расставить все точки над "ё".

В этой статье хочу поговорить об истории возникновения библиотеки. О том какую задачу она была призвана решать изначально. И уделить внимание её недостаткам.

Читать далее

https://habr.com/ru/post/705296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=705296

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Использование slots | Python

Суббота, 03 Сентября 2022 г. 16:34 (ссылка)

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

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

Читать далее

https://habr.com/ru/post/686220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686220

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Пишем свой Validation API для Spring Boot приложения

Понедельник, 11 Июля 2022 г. 12:00 (ссылка)

Добрый день, уважаемый читатель Хабра! Меня зовут Вартанян Артур и я работаю в компании Reksoft Java-разработчиком. В данной статье мы напишем свой собственный вариант реализации валидации для объектов и его полей, используя Java Reflection Api и Spring AOP.

Читать далее

https://habr.com/ru/post/675902/?utm_source=habrahabr&utm_medium=rss&utm_campaign=675902

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Fluent Generics in C#

Четверг, 07 Июля 2022 г. 16:00 (ссылка)

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

Несмотря на то, что дженерики давно в C#, мне всё же удаётся найти новые интересные способы их применения. Например, в одной из моих предыдущих статей я написал об уловке, позволяющей добиться return type inference, что может облегчить работу с контейнерными union types.

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

После нескольких экспериментов, я нашёл способ решить проблему элегантно, используя подход схожий с паттерном проектирования fluent interface, который был применён не к объектам, а к типам. Мой подход предлагает domain-specific language, который позволяет разработчику построить нужный тип за несколько логических шагов, последовательно его "конфигурируя".

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

Читать далее

https://habr.com/ru/post/666244/?utm_source=habrahabr&utm_medium=rss&utm_campaign=666244

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Взгляд тестировщика на SOLID

Четверг, 30 Июня 2022 г. 19:27 (ссылка)

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

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

Соответственно, этот материал состоит из двух частей:

- в первой возьмем простое приложение на Java и улучшим его с помощью SOLID принципов - от программы с парой классов, которые делают все подряд, дойдем до приложения, разбитого на несколько модулей с конкретными функциями (да, это еще одно объяснение SOLID - смело пропускайте, если уже и так представляете о чем это);

- во второй части посмотрим, где во фреймворках автоматизированного тестирования может использоваться SOLID.

Читать далее

https://habr.com/ru/post/674144/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674144

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Simulating Return Type Inference in C#

Вторник, 28 Июня 2022 г. 20:00 (ссылка)

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

Не так давно произошёл подобный случай, когда мы вместе с коллегой искали способ избежать передачи большого количества типовых параметров в тех местах, где компилятор должен был по идее их вывести. Однако, C# так устроен, что способен выводить типы в обобщённых вызовах только из передаваемых параметров метода.

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

Читать далее

https://habr.com/ru/post/673448/?utm_source=habrahabr&utm_medium=rss&utm_campaign=673448

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Знакомство с ООП на примере JavaScript

Воскресенье, 15 Мая 2022 г. 13:00 (ссылка)



Всем привет! В этой статье мы рассмотрим основные характеристики объектно-ориентированного программирования (ООП) на практических примерах JS-кода. В ходе обсуждения мы осветим основные принципы ООП, а также ответим на вопросы, почему и когда этот стиль может быть полезен. Читать дальше →

https://habr.com/ru/post/665290/?utm_source=habrahabr&utm_medium=rss&utm_campaign=665290

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод - recovery mode ] Дизайн шахматной игры

Суббота, 09 Апреля 2022 г. 21:18 (ссылка)

Перевод с английского с адаптацией

Ссылки на оригинал:
https://www.geeksforgeeks.org/design-a-chess-game/
https://massivetechinterview.blogspot.com/2015/07/design-chess-game-using-oo-principles.html

Уровень сложности: Сложный
Последнее обновление: 30 Сент., 2020

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

На вопрос: Adobe, Amazon, Microsoft и т. д.

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

Примечание автора перевода:
Хорошо было бы определиться со структурой кода и построить UML диаграмму.
Затем сформировав связи и отношения, строить классы. Такой подход к проектированию был бы более наглядным и написание кода отнимало бы меньше времени.

Далее в тексте: Прим. - примечание автора перевода.

*«Читать далее»

Основными классами будут:

Читать далее

https://habr.com/ru/post/660003/?utm_source=habrahabr&utm_medium=rss&utm_campaign=660003

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<oop - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda