Эта часть вашего оператора компиляции:
gfortran Codigo.f
будет обрабатывать исходный файл с суффиксом .f
в качестве источника фиксированной формы. Это означает, что строка продолжения указывается любым символом (отличным от пустого или 0
) в столбце 6.
Однако сообщение об ошибке, которое вы получаете, предполагает, что +
во второй строке вашего фрагмента не находится в столбце 6 и что компилятор рассматривает его как начальный символ в новом имени объекта, для которого он недопустим. Тот факт, что +
выровнен по вертикали с помощью n
в предыдущей строке, усиливает мое подозрение, что это может быть причиной вашей проблемы.
Добавление амперсанда, как предлагается в теперь удаленном ответ, на самом деле не помогает в этом случае, если вы продолжаете сообщать компилятору, что он имеет дело с исходным файлом с фиксированной формой. &
используется только для продолжения в исходных файлах свободной формы. Добавление оператора строки-конкатенации //
не помогает, так как за ним не следует другая строка, но заканчивается строка. //&
помог, но, вероятно, не нужен.
Я думаю, у вас есть 2 возможных решения, но выберите только один:
.f90
, который заставит gfortran
обрабатывать исходный файл как свободную форму. Если вы переходите на вариант 2 (который Я бы рекомендовал), вы можете либо использовать &
в конце строки, либо просто объединить строки. В свободной форме максимальная длина строки составляет 132 символа.
Ваш документ - это модель записи, совокупность в мире дизайна, управляемого доменом. Будучи CQRS без источника событий, вам необходимо сохранить состояние документа вместе с генерируемыми событиями. Вам также необходимо защитить от одновременной записи. При этом у вас есть два варианта:
У этого есть преимущество, которое быстро и вероятность одновременных изменений модификации ниже, если у вас есть отдельная защита для каждого раздела документа на месте (то есть атрибут version
для каждого в качестве противопоставления к одному version
для всего документа).
Недостаток заключается в том, что он слишком много сочетает модель (класс) Домена с инфраструктурой, поскольку вам нужно поставить запросы внутри класса Document. Если вы смешаете Домен с Инфраструктурой, то у вас больше нет чистой модели, и вы потеряете возможность безопасно повторить команду. Это может быть сделано за пределами класса Domain, в инфраструктуре, если вы «научите» репозиторий инфраструктуры реагировать по-разному на основе испущенных событий.
Это также указание на то, что у вас на самом деле несколько моделей записи , каждая модель для разделов документа (заголовок, тело, нижний колонтитул, заметки и т. д.), поскольку модель записи продиктована границей согласованности. В этом случае они будут использовать один и тот же идентификатор документа.
Он имеет огромное преимущество в том, что вы можете иметь чистый класс домена, без какой-либо зависимости от инфраструктуры. Инфраструктура просто берет все состояние и заменяет сохраняющееся состояние и добавляет новые события в одну и ту же транзакцию.
У этого недостатка это медленнее, чем первое решение. Это курс, если вы будете следовать подходу DDD после определения документа как совокупности (в DDD агрегат полностью загружен и полностью сохраняется в ответ на выполнение команд).