Книги, которые будут касаться TDD, DDD и Шаблонов разработки в.NET

Brad Larson указал на меня вниз правильная дорога с его предложением для помещения UIImageView внутренняя часть UIScrollView.

В конце я поместил UIImageView внутренняя часть UIScrollView и установил scrollView's contentSize и imageView границы, чтобы быть тем же размером как изображение в UIImage:

UIImage* image = imageView.image;
imageView.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
scrollView.contentSize = image.size;

Затем я могу анимировать scrollView's contentOffset для достижения хорошего эффекта панорамирования:

[UIView beginAnimations:@"pan" context:nil];
[UIView setAnimationDuration:animationDuration];
scrollView.contentOffset = newRect.origin;
[UIView commitAnimations];

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

UIImage* image = imageView.image;

float xNewOrigin = [TCBRandom randomIntLessThan:image.size.width - scrollView.bounds.size.width];
float yNewOrigin = [TCBRandom randomIntLessThan:image.size.height - scrollView.bounds.size.height];

CGRect oldRect = scrollView.bounds;
CGRect newRect = CGRectMake(
    xNewOrigin,
    yNewOrigin, 
    scrollView.bounds.size.width,
    scrollView.bounds.size.height);

float xDistance = fabs(xNewOrigin - oldRect.origin.x);
float yDistance = fabs(yNewOrigin - oldRect.origin.y);
float hDistance = sqrtf(powf(xDistance, 2) + powf(yDistance, 2));
float hDistanceInPixels = hDistance;

float animationDuration = hDistanceInPixels / speedInPixelsPerSecond;

я использую speedInPixelsPerSecond из [1 111], но другие приложения могли бы хотеть использовать различное значение.

12
задан Keith Adler 13 October 2009 в 22:12
поделиться

8 ответов

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

Эти две книги Microsoft действительно объясняют, как проектировать .NET. приложения с высокой тестируемостью, использующие Inversion Of Control и т. д.

И, чтобы было ясно, все они используют шаблоны проектирования, общие в TDD, DDD, Dependency Injection и т. д.

6
ответ дан 2 December 2019 в 04:43
поделиться

Вот некоторые из них, которые я бы порекомендовал:

2
ответ дан 2 December 2019 в 04:43
поделиться

Для TDD попробуйте xUnit Test Patterns .

Лучшая книга, которую я недавно прочитал для заполнения пробелов, - это C # in deep Джона Скит. Только после прочтения этой книги я осознал, сколько пробелов в моих знаниях C #.

2
ответ дан 2 December 2019 в 04:43
поделиться

Угадайте, что круг вопросов, которые вы задали, огромен, чтобы их можно было охватить в одной книге

Попробуйте эту Agile Principles, Patterns, and Practices in C # By Martin и Мартин

Книга в основном говорит о принципах проектирования, паттернах дизайна, диаграммах UML, документации, рефакторинге. Однако он не распространяется на ASP.NET и MVC. Для этого вам нужно сослаться на другие книги.

3
ответ дан 2 December 2019 в 04:43
поделиться

Для ваших нужд я бы рекомендовал начать с:

Как сказано в заголовке; Это в основном книга о том, как использовать DDD и TDD в среде .NET.

1
ответ дан 2 December 2019 в 04:43
поделиться

Попробуйте Применение дизайна и шаблонов на основе предметной области Джимми Ниллсон. Он охватывает DDD и его шаблоны в .NET

5
ответ дан 2 December 2019 в 04:43
поделиться

Pro ASP.NET MVC Framework Стива Сандерсона включает очевидную ASP.NET MVC тему с C#, а также TDD, паттерн репозитория и моделирование домена. Хороший обзор всех этих тем в одной книге.

Для более глубокого освещения DDD, я согласен с Арнисом L, чтобы получить библию ("Domain Driven Design: Tackling Complexity in the Heart of Software") Эрика Эванса, а для взгляда, специфичного для .NET, я согласен с Пер Ноалтом о применении дизайна и шаблонов, управляемых доменом: С примерами на C# и .NET.

Pro ASP.NET MVC Framework http://www.apress.com/resource/bookcover/9781430210078?size=medium

4
ответ дан 2 December 2019 в 04:43
поделиться
Другие вопросы по тегам:

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