В разделе про ISP в коде верное решение не указано, а только показана проблема (что пришлось сделать заглушку с исключением)? Или я не совсем понял, как код связан с текстом.
Хорошая статья. Хорошо показывает, зачем и как можно использовать принципы SOLID. Эти принципы просты только для тех, кто из уже хорошо понимает и/или хорошо подкован в программировании вообще и архитектуре в частности, а для джунов эти принципы сложны, как раз из-за недостатка опыта сложно увидеть грабли. Статья на хорошем примере показывает, что бывает без этих принципов.
Понятно, что в статье пришлось убрать некоторые вещи, на которые указали в комментах. Если это всё это сделать, то статья станет в три раза больше и в десять раз сложнее, и не поможет джунам понять принципы.
А можете пояснить, почему так? Мне это не интуитивно: таблица - это данные (и те сущности, список которых хранится в таблице). Да, бывают таблицы, в которых не сущность, а отношения (для многие-ко-многом), но из-за них все таблицы назвать отношениями? Ведь может быть такая вырожденная БД, где только одна таблица, и нет отношений (не с кем относиться).
Было бы хорошо, если бы сделали такой трюк - геймплейный скип для профи - прямо в первом раунде обучения показать, что ты профи, но новичок не сможет это увидеть/понять/суметь и пойдёт учиться. Например, показать зону с кучей ботов, новичок испугается туда пойти, а профи пойдёт, всех победит за N секунд, и тем самым заскипит обучение (и получит +1 к ЧСВ :). Или как пасхалка, скип - скрытая локация в обучении, профи узнал про это на форуме и знает, как туда пройти.
По поводу пункта "Польза от интерфейса № 1". Изменили классы и перевели связи на интерфейсы. Красиво получилось, я тоже люблю, когда красивая картинка получается. Но есть одно "но"! Раньше Менеджер мог оценивать только Служащего, а теперь может оценивать и другого Менеджера. Изменились бизнес-правила во время рефакторинга, так не должно быть, это не фича, это баг.
Посмотрите статью, может, пригодится их 80lvl экселевый шаманизм.
Ещё вот есть от Milfgard, какие способы баланса существуют.
Ещё есть статья с интересным примером балансирования TowerDefence, довольно полезно.
В современных версиях Unity не работают поля типа rigidbody2D (поле rigidbody2D есть, но имеет тип Component, а не Rigidbody2D). Их нужно присваивать в методе Start в отдельную переменную:
public class CharacterControllerScript : MonoBehaviour
{
//переменная для установки макс. скорости персонажа
public float maxSpeed = 10f;
//переменная для определения направления персонажа вправо/влево
private bool isFacingRight = true;
//ссылка на компонент анимаций
private Animator anim;
private Rigidbody2D rb;
/// <summary>
/// Начальная инициализация
/// </summary>
private void Start()
{
anim = GetComponent<Animator>();
rb = GetComponent<Rigidbody2D>();
}
И дальше в коде использовать поле rb вместо rigidbody2D.
В принципе, можно переопределить новое поле со старым именем rigidbody2D:
Отличная статья, очень практическая. Огромное спасибо за подробный рассказ и примеры, это очень ценно, в подобных статьях останавливаются общими фразами типа «делайте концепты и прототипы», а тут прямо «мясо». Особенно будет ценно тем, кто только ступил первый шаг на дорогу геймдева. Даже странно, что такой маленький рейтинг статьи.
Книга «Варлорд. Темный пакт» (Angel Delacruz). Одежду печатают в прет-а-порте-принтерах, бесплатно, но вот список разрешённых вариантов одежды — у каждого свой, красивые модели надо оплачивать.
А какие у них тарифы? там не всё понятно с бесплатным тарифом. Насколько я помню, в публичном месте можно бесплатно, а вот ограниченном разделе (по логину) только платно. Или не так?
Был монолит со сложностью 10. Делим на 10 микросервисов, получается не 10 по 1, а 10 по 2-3. Но проектом со сложностью 2-3 управлять гораздо проще, чем сложностью 10. И плюс добавляем сложность в взаимодействии, если декомпозиция проведена хороша, то взаимодействий от 9, иначе до 90, сложностью 1.
Получается, вместо сложности 10 выходит 30=20(сервисы)+10(взаимодействия), как и написано в статье («разработка может обойтись вам примерно в 3 раза дороже, чем на монолите», в последнем абзаце). Но управлять 10 монолита уже нереально (невозможно добавить ещё одну, чтобы стало 11), тогда и делают микросервисы.
Принципы SOLID на JS, теперь точно простым языком, но не очень коротко
В пунктах не хватает неправильного примера и правильного примера, как исправить неправильный. А так, статья полезная, спасибо.
Принципы SOLID на JS, теперь точно простым языком, но не очень коротко
Замьютили модератора, временно.
Воины и волшебники, часть вторая
А кинжал как взять в руку?
Воины и волшебники, часть первая
Самурай одобряет!
Принципы проектирования SOLID
В разделе про ISP в коде верное решение не указано, а только показана проблема (что пришлось сделать заглушку с исключением)? Или я не совсем понял, как код связан с текстом.
Принципы Solid и как они помогают сделать код лучше
Хорошая статья. Хорошо показывает, зачем и как можно использовать принципы SOLID. Эти принципы просты только для тех, кто из уже хорошо понимает и/или хорошо подкован в программировании вообще и архитектуре в частности, а для джунов эти принципы сложны, как раз из-за недостатка опыта сложно увидеть грабли. Статья на хорошем примере показывает, что бывает без этих принципов.
Понятно, что в статье пришлось убрать некоторые вещи, на которые указали в комментах. Если это всё это сделать, то статья станет в три раза больше и в десять раз сложнее, и не поможет джунам понять принципы.
Введение в базы данных
А можете пояснить, почему так? Мне это не интуитивно: таблица - это данные (и те сущности, список которых хранится в таблице). Да, бывают таблицы, в которых не сущность, а отношения (для многие-ко-многом), но из-за них все таблицы назвать отношениями? Ведь может быть такая вырожденная БД, где только одна таблица, и нет отношений (не с кем относиться).
Переработали батлрояль и увеличили его онлайн в 2 раза
Было бы хорошо, если бы сделали такой трюк - геймплейный скип для профи - прямо в первом раунде обучения показать, что ты профи, но новичок не сможет это увидеть/понять/суметь и пойдёт учиться. Например, показать зону с кучей ботов, новичок испугается туда пойти, а профи пойдёт, всех победит за N секунд, и тем самым заскипит обучение (и получит +1 к ЧСВ :). Или как пасхалка, скип - скрытая локация в обучении, профи узнал про это на форуме и знает, как туда пройти.
Интерфейсы в C#: зачем они нужны?
По поводу пункта "Польза от интерфейса № 1". Изменили классы и перевели связи на интерфейсы. Красиво получилось, я тоже люблю, когда красивая картинка получается. Но есть одно "но"! Раньше Менеджер мог оценивать только Служащего, а теперь может оценивать и другого Менеджера. Изменились бизнес-правила во время рефакторинга, так не должно быть, это не фича, это баг.
Анонс онлайн-митапа по .NET: три доклада о кроссплатформенных десктопных приложениях
А видео докладов есть? Что-то не нашёл в канале по ссылке. Очень уж интересные темы...
Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги (часть 1, 2)
Ещё вот есть от Milfgard, какие способы баланса существуют.
Ещё есть статья с интересным примером балансирования TowerDefence, довольно полезно.
Основы создания 2D персонажа в Unity 3D 4.3. Часть 2: бегущий персонаж
И дальше в коде использовать поле rb вместо rigidbody2D.
В принципе, можно переопределить новое поле со старым именем rigidbody2D:
Как НЕ стать геймдизайнером (Game Designer)
Как НЕ стать геймдизайнером (Game Designer)
История жанра roguelike: от Rogue до Binding of Isaac
Самоуничтожающийся стул с DRM
Самоуничтожающийся стул с DRM
Мой (нано)опыт с Yandex.Maps API или зачем нужна инструкция
Workflow 3D-художника. Как не утонуть в тонне информации. Часть 1
А почему лучше избегать треугольники, если их потом всё равно делать при триангуляции? Ведь и видеокарта умеет делать только треугольники.
Пара слов в защиту монолита
Получается, вместо сложности 10 выходит 30=20(сервисы)+10(взаимодействия), как и написано в статье («разработка может обойтись вам примерно в 3 раза дороже, чем на монолите», в последнем абзаце). Но управлять 10 монолита уже нереально (невозможно добавить ещё одну, чтобы стало 11), тогда и делают микросервисы.