Вопросы с тегом «patterns-and-practices»

Шаблоны проектирования (повторяемые решения часто возникающих проблем) и лучшие практики в разработке программного обеспечения

1
Как выбрать между использованием события домена или разрешением уровня приложения управлять всем
Я делаю свои первые шаги в дизайне, управляемом доменом, купил синюю книгу и все остальное, и я вижу три способа реализации определенного решения. Для записи: я не использую CQRS или Event Sourcing. Допустим, запрос пользователя поступает на уровень обслуживания приложений. Бизнес-логика для этого запроса (по какой-либо причине) разделена на метод …

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

4
Как называется идиома, использующая цепочку методов для построения объекта?
Я часто использую шаблон, в котором я использую цепочку методов для настройки объекта, аналогичного шаблону Builderили Prototype, но не создаю новые объекты при каждом вызове метода, вместо этого изменяя исходный объект. Пример: new Menu().withItem("Eggs").withItem("Hash Browns").withStyle("Diner"); Просто интересно, есть ли название для этого шаблона и считается ли он анти-шаблоном, потому что, …

4
Какие методы вы используете, чтобы избежать неправильных обновлений данных в больших базах данных?
Типичным советом перед любым производственным развертыванием является резервное копирование БД. Таким образом, если в новом обновлении есть какая-то проблема, которая может привести к потенциальной потере данных или логическому повреждению данных, у вас все еще есть резервная копия для сравнения и исправления старых записей. Тем не менее, это может работать хорошо, …

2
Использование нового класса System.Tuple - плохой дизайн?
Мне нравится концепция System.Tuple в том смысле, что она позволяет мне возвращать несколько параметров в одном вызове функции без создания экземпляра нового класса, однако это игнорирует любые хорошие методы программирования, такие как Microsoft Patterns & Practices, SOLID Principles и т. Д. Я просто пытаюсь оценить, насколько свободно я должен использовать …

9
Что делать, если новая команда руководит проектом с проблемами сопровождения?
Я только что был назначен ответственным за проект кода с проблемами сопровождения. Что я могу сделать, чтобы сделать проект устойчивым? Я нахожусь в месте, где мы работаем с очень большой многоуровневой системой .NET, в которой отсутствуют многие важные вещи, такие как модульные тесты, IOC, MEF, слишком много статических классов, чистые …

6
Try / Catch / Log / Rethrow - это Anti Pattern?
Я вижу несколько постов, где важность обработки исключений в центральном местоположении или на границе процесса подчеркивалась как хорошая практика, а не мусор каждого блока кода вокруг try / catch. Я твердо верю, что большинство из нас понимают важность этого, однако я вижу, что люди по-прежнему используют анти-паттерн catch-log-rethrow главным образом …

4
Это плохая практика, чтобы разрешить пользовательские поля?
Вообще говоря, считается ли плохой практикой разрешать пользовательские поля в базе данных для веб-приложения? Например, я делаю веб-приложение домашнего инвентаря для своей жены, и она захочет определить свои собственные поля для различных предметов. Я планировал позволить ей создавать категории элементов и добавлять «функции» в эти категории. Объектами будут просто ключ …


5
Объединение геттеров и сеттеров
Библиотеки JavaScript, такие как jQuery, объединяют 'getters' и 'setters' в интерфейсе программирования, например: $('element').css({'color','blue'}); установит цвет или $('element').css(); получит CSS для элемента. Существует ли название для такого шаблона и является ли это хорошей практикой для использования в приложениях?

4
Нужно ли вводить зависимости в ctor или для метода?
Рассмотреть возможность: public class CtorInjectionExample { public CtorInjectionExample(ISomeRepository SomeRepositoryIn, IOtherRepository OtherRepositoryIn) { this._someRepository = SomeRepositoryIn; this._otherRepository = OtherRepositoryIn; } public void SomeMethod() { //use this._someRepository } public void OtherMethod() { //use this._otherRepository } } против: public class MethodInjectionExample { public MethodInjectionExample() { } public void SomeMethod(ISomeRepository SomeRepositoryIn) { //use SomeRepositoryIn …

6
Преимущества шаблона стратегии
Почему полезно использовать шаблон стратегии, если вы можете просто написать свой код в случаях if / then? Например: у меня есть класс TaxPayer, и один из его методов рассчитывает налоги, используя разные алгоритмы. Так почему же он не может иметь if / then случаев и выяснить, какой алгоритм использовать в …

12
Является ли это использование условных выражений анти-паттерном?
Я часто видел это в нашей унаследованной системе - функции, которые работают примерно так: bool todo = false; if(cond1) { ... // lots of code here if(cond2) todo = true; ... // some other code here } if(todo) { ... } Другими словами, функция состоит из двух частей. Первая часть …

6
В каком порядке определяются геттеры и сеттеры? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

5
Как перенести мое мышление с C ++ на C #
Я опытный разработчик C ++, знаю язык очень подробно и интенсивно использую некоторые его особенности. Также я знаю принципы OOD и шаблоны проектирования. Сейчас я изучаю C #, но не могу избавиться от ощущения, что не могу избавиться от мышления C ++. Я так сильно привязался к сильным сторонам C …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.