Инверсия управления с .NET

В Великобритании используется неделя ISO: первая неделя года включает 4 января.

Итак:

set datefirst 1 --this sets Monday as first day of the week 
set dateformat dmy -- nosrmal date format
select Date,Time,EndDate,EndTime,datepart(iso_week,date)as week
FROM Test
WHERE (StartDate >= '01.01.2019')
ORDER BY StartDate

Помните, что первые дни января могут быть 52-й или 53-й неделей предыдущего года, а также последний день декабря может принадлежать первой неделе нового года.

проверка, чтобы увидеть номер недели и перенести на год, к которому она принадлежит, заключается в следующем:

week_and_year = case when datepart(iso_week,date)>=52 and month(date)=1 
                           then concat(year(date)-1,datepart(iso_week,date))
                      when datepart(iso_week,date)=1 and month(date)=12
                           then concat(year(date)+1,datepart(iso_week,date))
                      else concat(year(date),datepart(iso_week,date))
                      end
6
задан annakata 18 December 2008 в 09:31
поделиться

7 ответов

Много людей использует МОК в.NET, и существует несколько платформ, доступных для помощи с использованием МОК. Можно видеть его меньше в стороне WinForms вещей, потому что более трудно просто позволить контейнерному проводу все вместе, когда Вы разрабатываете формы в Visual Studio, но я могу сказать, что для серверной стороны приложения.NET, где я работаю, по крайней мере, МОК, используются очень успешно.

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

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

Некоторые другие сообщения, обсуждая различные платформы МОК/DI, доступные для.NET:

6
ответ дан 8 December 2019 в 17:29
поделиться

Я использую StructureMap для внедрения зависимости и только недавно начал использовать его с iBATIS.NET для введения наших картопостроителей объекта области во времени выполнения (а не через файл конфигурации XML, нет, спасибо!).

Я видел непосредственные преимущества. Создание интерфейсов для всех наших картопостроителей (такой как IPersonMapper) и затем добавление Moq позволяет мне писать некоторые довольно большие модульные тесты без баз данных быстро и легко.

Ранее (.NET 1.0) я записал свою собственную сменную систему главным образом для приобретения знаний об отражении. С этого времени я реализовал своего рода МОК в своих проектах. Его единственное недавно я начал использовать МОК для того, чтобы сделать модульные тесты настолько менее болезненными для записи. Я не мог предположить делать его любой другой путь в этой точке.

4
ответ дан 8 December 2019 в 17:29
поделиться

МОК не действительно что банальность в .NET вплоть до сих пор. И это имеет все, чтобы сделать с Microsoft и там кампаниями продвижения, которые они сделали. вплоть до сих пор они больше подчеркивали возможности быстрой разработки приложений VS и в это время забытия продвинуть вещи как МОК и Di, но теперь у них есть своя собственная платформа под названием Единица, и с работой они сделали на ASP.NET MVC.

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

И я использую StructureMap.

2
ответ дан 8 December 2019 в 17:29
поделиться

Это становится более распространенным. Мой текущий проект использует Spring, и на моем предыдущем проекте мы использовали замок Windsor.

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

1
ответ дан 8 December 2019 в 17:29
поделиться

Я использую его, чтобы позволить моим Модульным тестам заменять Ложными Классами (моделирующий фактические производственные классы) для восходящих подчиненных объектов так, чтобы мои модульные тесты действительно только выполнили и протестировали код в одном class.method, который они записаны для тестирования.

0
ответ дан 8 December 2019 в 17:29
поделиться

Существует много теорий, связанных с использованием МОК.NET. Я думаю, что существует изрядное количество разработчиков, которые не имеют опыта в области. Они не происходили из среды Java. Они произошли из классического ASP и фона VB6. Кроме того, Microsoft действительно не способствовала использованию МОК до недавнего времени.

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

МОК больше, чем просто использует другой объект на панели инструментов. Это о знании, как использовать, знание, когда использовать его и назревание как разработчик.

Поскольку это касается.NET, у меня есть несколько контейнеров МОК. Я использовал Виндзор, StructureMap, Единицу и, последний раз, Ninject. Следует иметь в виду, тем не менее, что я не использовал всех их в реальных приложениях. Мне нравится играть вокруг и видеть то, что продолжается там. Я нашел, что рынок для контейнеров МОК.NET довольно хорош.

1
ответ дан 8 December 2019 в 17:29
поделиться

Попробуйте LinFu. МОК 2.0:

http://www.codeproject.com/KB/cs/LinFu_IOC.aspx

Это - один из самых гибких контейнеров МОК там, и как Ninject, нет никакого XML-файла для поддержания. В отличие от Ninject, однако, LinFu не вынуждает Вас написать любой обязательный код для обеспечения электричеством зависимостей вместе. Смотрите!:)

0
ответ дан 8 December 2019 в 17:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: