Здравствуйте, Аноним, Вы писали:
А>1. Простейший пример не расцвечен.
Подсветку сегодня поправим, у меня просто на работе тема в студии другая, поэтому не смог сразу сделать.
А>2. <# #> лучше заменить на, что то другое, что расцвечивает текст. Отсутствие подсветки в хтмл это минус
<# #> должен подкрашивать, тут вопрос в макросе Html. Я тут со всеми делами забыл про эту проблему, надо будет с Владом посоветоваться.
А>3. для списка List[Task] если возможно добавить перекрытие метода Add с параметрами конструктора Task
А каким образом? Разве что макрос какой замутить, но это ведь обычный серверный код. Зачем его так коверкать?
А>4.
А> public Save(tasks : List[Task]) : string
А>не понятно куда идет возвращаемая строка.
Тут наверное надо сделать сноску. Дело в том, что серверные методы должны возвращать какое-то значение, даже если логически его может не быть.
Но вообще можно генерировать null для void методов.
А>5. Не ясно где находятся переменные на клиенте или на сервере или автоосериализуются между ними.
А>mutable _tasks = List.[Task]();
А> mutable _todoName = "New task";
А> mutable _todoPriority = "high";
Все переменные на клиенте. Какой-либо синхронизации с сервером нет. Все данные передаются явно через вызовы методов, в которых как раз происходит автоматическая сериализация.
А>6. Сохраняется на сервере в моем представлении это или в БД или в файле.
Ну, static List[T] это в некотором плане in-memory DB
А>Молодцы! не думал, что такое скажу. Красиво сделано.
Спасибо за конструктивную критику!