Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так не любят Delphi? 
:(
    Опции темы
LSD
Дата 12.5.2012, 17:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Правильно разделять представление и бизнес логику.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Akella
Дата 12.5.2012, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



нет, ну конкретнее, как быть в той ситуации?
PM MAIL   Вверх
k0rvin
Дата 17.5.2012, 11:14 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Akella @ 12.5.2012,  17:35)
нет, ну конкретнее, как быть в той ситуации?

Мне, например, нравится, как это сделано у Apple:

1.
Код

// ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property (nonatomic, retain) IBOutletCollection(UITextField) NSArray *name;

- (IBAction)setFieldsEnabled:(UISwitch *)sender;
- (IBAction)setRightAlign:(UISwitch *)sender;

@end

Код

// ViewController.m
#import "ViewController.h"

@implementation ViewController

@synthesize name;

- (void)setFieldsEnabled:(UISwitch *)sender {
    BOOL state = [sender isOn];
    for (UITextField *field in name) {
        [field setEnabled:state];
    }
}

- (void)setRightAlign:(UISwitch *)sender {
    UITextAlignment alignment = [sender isOn] ? UITextAlignmentRight : UITextAlignmentLeft;
    for (UITextField *field in name) {
        [field setTextAlignment:alignment];
    }
}

@end

http://www.youtube.com/watch?v=_KAtEK7j06Y

2.
Код

// Model.h
#import <Foundation/Foundation.h>

@interface Model : NSObject

@property (nonatomic) NSInteger value;

@end

Код

// Model.m
#import "Model.h"

@implementation Model

@synthesize value;

@end

http://www.youtube.com/watch?v=MIo5EF2zDBY


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
LSD
Дата 17.5.2012, 12:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Akella @  12.5.2012,  18:35 Найти цитируемый пост)
нет, ну конкретнее, как быть в той ситуации?

Что ты подразумеваешь под "конкретнее", ты хочешь код что ли?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Akella
Дата 17.5.2012, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



Цитата(LSD @ 12.5.2012,  15:03)
Цитата(Akella @  12.5.2012,  15:56 Найти цитируемый пост)
Можно в коде создать кнопку, написать процедуру и присвоить её событию на нажатие кнопки, или я не понял чего-то?

Не можно, а нужно. Но кто же будет так делать, когда есть способ проще. Когда Борланд сваяла свой JBuilder который и в Яве позволял делать то же самое Щелкнул мышкой на кнопку и получил свой Button111OnClick, то и на Яве появилось достаточно количество проектов в таком же стиле. Но потом JBuilder умер smile

Ты хочешь сказать, что всё нужно делать в коде? И не заниматься "компонентомкидательством" на форму?
PM MAIL   Вверх
LSD
Дата 17.5.2012, 13:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Akella @  17.5.2012,  13:48 Найти цитируемый пост)
Ты хочешь сказать, что всё нужно делать в коде? И не заниматься "компонентомкидательством" на форму?

Если ты делаешь действительно сложный гуй - то да.
Вообще по хорошему действие и его вызов из гуя должны быть настраиваемыми. Т.е. мы можем повесить хоткей на некое действие, можем добавить кнопку на тулбар, или создать свое главное или контекстное меню, куда добавить это действие. Плюс плагины тоже должны создавать свои действия и так же прозрачно их встраивать в приложение.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Zloxa
Дата 17.5.2012, 14:21 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(LSD @  17.5.2012,  14:56 Найти цитируемый пост)
Вообще по хорошему действие и его вызов из гуя должны быть настраиваемыми. Т.е. мы можем повесить хоткей на некое действие, можем добавить кнопку на тулбар, или создать свое главное или контекстное меню, куда добавить это действие.

Акелла правильно кивнул на TAction. Он именно этим и занимается. Ввели, емнип в еще 5й делфе.

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

Всамделе - бомба вещь. smile 

Это сообщение отредактировал(а) Zloxa - 17.5.2012, 14:29


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
ivanfain
Дата 20.5.2012, 16:06 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 17.3.2012

Репутация: нет
Всего: нет



Цитата(LSD @  17.5.2012,  13:56 Найти цитируемый пост)
Если ты делаешь действительно сложный гуй - то да.

Не правда. Сложный гуй проще сделать в дизайнере, потому как у тебя нервов не хватит каждый раз запускать проект, дабы передвинуть контрол на пиксель в лево, потомы что он почему-то совсем не смотрится. Уже давно люди поняли, что гуй десктопных приложений нужно делать в дизайнере, только явистам это пока не всем дошло. Ну так вы посмотрите и на программы, написанные на яве.
В обработчике Button1OnClick можно создать класс, который вызовет один единственный метод, вот и всё. Ну и конечно там можно писать всё, что касается гуя.
Если вы не согласны, что сложный гуй можно сделать в дизайнере, то скажите, много ли вы знаете насколько динамичных гуев, который сложно сделать размещением компонентов на форму? Вокруг меня: хром, ворд, тоталкомандер, скайп и тд. не помню программы, где гуй каждую секунды с ног на голову переворачивается.
А вот, что касается размещения на форме Не визуальных компонетов, и не имеющих отношения к гую - это, простите, быдлокод.
PM MAIL   Вверх
serger
Дата 21.5.2012, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 0
Всего: 5



ivanfain, бред.
Полностью не согласен.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Zloxa
Дата 21.5.2012, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(ivanfain @  20.5.2012,  17:06 Найти цитируемый пост)
А вот, что касается размещения на форме Не визуальных компонетов, и не имеющих отношения к гую - это, простите, быдлокод. 

Тут согласен. Процесс ручного фомрирования километровых XML конфигов - дает куда большее удовлетворение и яркий экстаз, если это наконец заработает.  smile 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
LSD
Дата 21.5.2012, 14:20 (ссылка)  | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(ivanfain @  20.5.2012,  17:06 Найти цитируемый пост)
Не правда. Сложный гуй проще сделать в дизайнере, потому как у тебя нервов не хватит каждый раз запускать проект, дабы передвинуть контрол на пиксель в лево, потомы что он почему-то совсем не смотрится. Уже давно люди поняли, что гуй десктопных приложений нужно делать в дизайнере

И в результате получаем гуй состоящий из нагромождения контролов и который может работать в одном разрешении экрана.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Zloxa
Дата 21.5.2012, 14:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(LSD @  21.5.2012,  15:20 Найти цитируемый пост)
И в результате получаем гуй состоящий из нагромождения контролов и который может работать в одном разрешении экрана.

Наверное ты не о разрешении а об коэффиценте увеличения(не знаю как по русски, scalling), которое устанавливается в настройках винды. Тут конечно да, жава срала на эти настройки гуеоса, и при их любых настройках выглядит одинаково. В делфе у формы есть свойство, определяющее подобное поведение. Действительно жаль что оно всегда по умолчанию отключено.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
LSD
Дата 21.5.2012, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Zloxa @  21.5.2012,  15:35 Найти цитируемый пост)
Наверное ты не о разрешении а об коэффиценте увеличения

Нет именно про разрешение. Если компоненты выравниваются попиксельно, то ни о каком изменении размеров окна и речи не идет.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Zloxa
Дата 21.5.2012, 16:41 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(LSD @  21.5.2012,  17:08 Найти цитируемый пост)
Нет именно про разрешение. Если компоненты выравниваются попиксельно, то ни о каком изменении размеров окна и речи не идет. 

Есть крюки (емнип, называются anchos), которые можно определить для визуального компонента и сразу же проверить, в дизайнере, как это будет работать при растягивании/сжатии формы. Появилась плюшка не сразу. Кажись в седьмой делфе, возможно в пятой. Раньше резиновые формы приходилось делать панелями. Чуть менее удобно, но куда удобнее, нежели лапами кодить.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
ivanfain
Дата 21.5.2012, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 17.3.2012

Репутация: нет
Всего: нет



Цитата(Zloxa @  21.5.2012,  09:11 Найти цитируемый пост)
Тут согласен. Процесс ручного фомрирования километровых XML конфигов - дает куда большее удовлетворение и яркий экстаз, если это наконец заработает.    

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

Цитата(LSD @  21.5.2012,  16:08 Найти цитируемый пост)
Нет именно про разрешение. Если компоненты выравниваются попиксельно, то ни о каком изменении размеров окна и речи не идет. 

 smile 
Цитата(Zloxa @  21.5.2012,  16:41 Найти цитируемый пост)
Есть крюки (емнип, называются anchos), которые можно определить для визуального компонента и сразу же проверить, в дизайнере, как это будет работать при растягивании/сжатии формы.

Всё решается, разрешение экрана уже давно не является страшной проблемой при визуальном проектировании приложения. Тем более, никто не запрещает и с кода какие-то элементы подвинуть. Другое дело полностью на mvc приложение делать. В общим у кого нету опыта с обоими юзезкейсами, тому не понять. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1421 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.