Сообщение Когда императивность переходит в декларативность... от 07.08.2023 20:20
Изменено 07.08.2023 20:21 Shmj
Когда императивность переходит в декларативность...
Вот императивный способ создания GUI и это плохо:
А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно.
Все гениальное — просто.
Form mainForm = new Form();
Button blueButton = new Button();
blueButton.Color = Colors.Blue;
mainForm.Children.Add(blueButton);
А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
Form(
Children: Button(
Color: Colors.Blue
)
)
Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно.
Все гениальное — просто.
Когда императивность переходит в декларативность...
Вот императивный способ создания GUI и это плохо:
А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно парсером в 10 срок кода.
Все гениальное — просто.
Form mainForm = new Form();
Button blueButton = new Button();
blueButton.Color = Colors.Blue;
mainForm.Children.Add(blueButton);
А если всего чуток изменить, то можно без особой переделки сделать чтобы все было декларативно. А именно:
Form(
Children: Button(
Color: Colors.Blue
)
)
Т.е. делаем new не обязательным, создание объекта без него. И даем возможность задать в конструкторе свойства. И все! Теперь без переделки ядра и без создания нового языка — мы можем писать все декларативно. Не нужен XAML или еще что. Получается что все выглядит как JSON или подобие его — все просто и ясно, даже парсить можно парсером в 10 срок кода.
Все гениальное — просто.