Pull to refresh

Comments 5

кодогенерация, конечно, эффективно, но с partial очень раздражает работать, да и атрибуты для приватных полей... такое себе
Вот бы упростить до

[ViewModel]
public interface IMomentSpeakerViewModel : IDisposable
{
    string OutText {get;}
    string InputText {get; set;}
    void Say();
}

и полностью кодогенерился бы public class MomentSpeakerViewModelBinder_Generated, как дополнительная прослойка между вью и вьюмоделью

Прекрасно вас понимаю на счет partial классов, но со временем привыкаешь к ним. Главное тут соблюдать то что partial используется только для генерации дополнительного кода, а не для дробления логики работы класса на несколько файлов.

Возможно я не упомянул в статье, но при использование атрибута [View] и [ViewModel] срабатывает дополнительный анализатор кода, который указывает на то что класс должен быть partial, если это не так, и предлагает это исправить.

Ваша идея с использованием интерфейса выглядит интересно, но в настоящий момент не вижу возможности ее реализовать с текущими ограничениями генераторов и отстованием Unity от новых версий .Net и C#, где есть перехватчики и partial свойства.

Возможно ваше решение могло бы заработать при использование реактивных полей. В будущих версиях рассматривается возможность интеграция с R3.

Мы учитываем любые предложения по упрощению и улучшению работы с фреймворком. Подробней о том какие задачи сейчас за планированы и находятся на рассмотрение вы можете ознакомиться тут:

Roadmap: https://vpd-inc.gitbook.io/aspid.mvvm/aspid.mvvm-ru/documentation/roadmap
Текущие задачи по проекту: https://github.com/users/VPDPersonal/projects/2/views/1

ну да, если хочется подписок на изменения, а не только при инициализации, то R3

[ViewModel]
public interface IMomentSpeakerViewModel : IDisposable
{
    ReadOnlyReactiveProperty<string> OutTextChangable {get;}
   IObservableCollection<IAnotherViewModel> AnotherViewModels {get;}
}

Выглядит очень интересно! Хотелось бы увидеть интеграцию с новым UI ToolKit, ибо туда MVVM прям просится

Рад, что вас заинтересовало! Интеграция с UI ToolKit планируется в следующих версиях. Но перед тем как провести интеграцию есть несколько задач, которые необходимо выполнить для упрощения работы с Unity UI. Более подробно про текущие задачи можно посмотреть на странице проекта: https://github.com/users/VPDPersonal/projects/2/views/1

Sign up to leave a comment.

Articles