Я ищу пример приложения, который представляет хороший к большому использованию архитектурных шаблонов, до сих пор я нашел
Проблема с вышеупомянутым состоит в том, что требования для подъема этого сделайте его кошмаром для работы с.
Мой список требований - это, должно быть просто встать и выполнение, покрывает основы и действительно должен быть на языке.NET.
Может не удовлетворить вашу потребность в простом, но взгляните на проект
Просто прочитать об их архитектуре - хорошее начало.
Возьмите также экземпляр книги Эрика Эванса DDD для чтения материала.
Я был поражен тем, что никто не предложил явно самый простой образец для использования.. Образец
Таким образом, можно также исключить этот метод «finalState» и просто использовать «handle ()». Откуда вы знаете, какое конечное состояние? Образец memento лучше всего использовать с образцом Command и обычно применяется к операциям графического интерфейса пользователя для реализации функции отмены/повтора.
Поля представляют состояние класса
Поля представляют состояние объекта экземпляра . Часто используются неправильные определения терминов ООП. Просмотрите и исправьте.
-121--3095794-Если вы можете, сделайте выбор на CPU, рассчитав луч от глаза через указатель мыши и пересекайте его с моделями.
Если это не вариант, я бы пошел с каким-то типом рендеринга ID. Назначьте каждому объекту уникальный цвет, визуализируйте объекты этими цветами и, наконец, считывайте цвет из буфера кадров под указателем мыши.
EDIT: Если вопрос заключается в том, как построить луч из координат мыши, необходимо следующее: проекционная матрица P и преобразование камеры C . Если координаты указателя мыши - (x, y) , а размер видового экрана - (ширина, высота) , то одна позиция в пространстве подрезки вдоль луча:
mouse_clip = [
float(x) * 2 / float(width) - 1,
1 - float(y) * 2 / float(height),
0,
1]
(Обратите внимание, что я переворачивал ось y, поскольку часто начало координат мыши находится в левом верхнем углу)
mouse_clip = P * C * mouse_worldspace
Что дает:
mouse_worldspace = inverse(C) * inverse(P) * mouse_clip
У нас теперь есть:
p = C.position(); //origin of camera in worldspace
n = normalize(mouse_worldspace - p); //unit vector from p through mouse pos in worldspace
-121--2532775- Я узнал о The Northwind Starter Kit - этой великой книге Дино Эспозито, и др. al. Использует многоуровневую архитектуру MVC и очень прост в установке. Перейдите на вкладку исходного кода и загрузите готовое решение Visual Studio.
.NET Stocktraader Пример приложения из Microsoft, демонстрируя архитектуру SOA Enterprise SOA.
Я нашел книгу Eric Evans DDD, чтобы стать самым вдохновляющим книгом на архитектуре приложений предприятия, которую я прочитал до сих пор. Чтение этой книги я узнал больше о архитектуре программного обеспечения, чем изучение любого образца приложения.
Как побочная записка, я бы не ограничивал себя .NET язык. Например. Если вы знаете C #, вы найдете Java легко читать.
Сказать это, вокруг DDD есть большое сообщество, и у них хорошее примем приложения (в Java) на http://domaindrivendesign.org/ .