Начало работы со Smart Client Software Factory 2010 (перевод)
Новичок в Smart Client Software Factory(далее SCSF)? Лучший способ познакомиться со SMCF – сделать следующее:
— Создать свое «Hello World» приложение. Об этом далее
— Запустить QuickStarts, включенные в фабрику ПО (software factory). BankTeller QuickStart поможет вам понять Composit UI блок приложения, который теперь включен в фабрику ПО. Интересуют подробности – посмотрите раздел «QuickStarts» документации
— Скачайте и поработайте над Hands-on-Labs
— Ознакомьтесь с главой «Exploring the Smart Client Software Factory» в документации
Просто хотите ознакомиться с документацией?
Если вы еще только оцениваете фабрику, вы можете скачать документацию перед тем как качать фабрику. Когда будете готовы, можете скачать саму фабрику.
Создаем Hello World приложение
Данный раздел описывает, как создать и отобразить представление (View) используя SCSF. Чтобы создать ваше первое Hello World приложение, выполните действия описанные в этом разделе.
Следующие действия предусматривают, что у вас уже установлен guidance package (SCSF)
Создание нового приложение SCSF
- В Visual Studio 2010 создайте новый проект (File(Файл)->New (Создать)->Project(Проект))
- В диалоге Новый Проект (New Project) раскройте Guidance Packages Project , затем выберите Smart Client Development May 2010
- Выберите Smart Client Application (csharp)
- Назовите проект HelloWorldApplication и нажмите OK.
- В мастере примите все настройки по умолчанию и нажмите Finish
Создание HelloWorld модуля
- В Solution Explorer’е нажмите правой кнопкой по созданному решению, а затем нажмите Add New Business Module (c#) , находящийся в разделе Smart Client Software Factory
- Назовите новый проект HelloWorldModule
- Жмите OK
- В мастере примите все настройки по умолчанию и жмите Finish
Добавляем HelloWorld представление(view)
- В Solution Explorer’е нажмите правой кнопкой по только что созданному модулю HelloWorldModule , а затем нажмите в разделе Smart Client Software Factory выбираем Add View (with presenter).
- В диалоговом окне Add New View (with presenter) , в поле View напишите HelloWorldView и нажите Finish
- В Solution Explorer’е дважды кликните на HelloWorldView.cs, чтобы открыть его в дизайнере.
- Перетащите на форму обычный TextBox и поставте в него текст “Hello World”
Сконфигурируйте представление(View) для отображение в правой колонке рабочей области приложения
- В Solution Explorer’e откройте ModuleController.cs, находящийся в проекте HelloWorldModule.
- Добавьте следующий код:
using HelloWorldApplication.Infrastructure.Interface.Constants;
- Найдите метод AddView и добавьте в него следующий код:
- Нажмите F5, чтобы скомпилировать и запустить ваше Hello World приложение
- Можно закрывать приложение.
// Добавить представление HelloWorld (smart part) в WorkItem
// чтобы отображать его прямо в RightWorkspace в приложении.
HelloWorldView hwview = ShowViewInWorkspace<HelloWorldView>(WorkspaceNames.RightWorkspace);
Далее, вам нужно ассоциировать команду с элементом меню, чтобы выводить text box с надписью «Hello World»
Как расширить ваше Hello World приложение для работы с панелью инструментов
- Закомментируйте следующую строчку кода в методе AddViews в файле ModuleController.cs для того, чтобы ваш text box не выводился в правую колонку автоматически
// Добавить представление HelloWorld (smart part) в WorkItem
// чтобы отображать его прямо в RightWorkspace в приложении.
HelloWorldView hwview = ShowViewInWorkspace< HelloWorldView >(WorkspaceNames.RightWorkspace);
- Расширение главной панели инструментов
- В Solution Explorer’e, в проекте HelloWorldModule найдите папку Constants , и откройте находящийся в ней файл файл CommandNames.cs.
- Добавьте следующий код в класс CommandNames . Так вы зададите константу команды ShowHelloWorldMessage.
// Команда – это абстракция событий элементов UI, // как, например, нажатие на кнопку. public const string ShowHelloWorldMessage = "ShowHelloWorldMessage";
- В Solution Ecplorer’e в проекте HelloWorldModule откройте файл ModuleController.cs
- Добавьте следующий код для реализации метода **AddToolStripButton **
// Этот метод создает ToolStripButton и добавляет его в // MainToolbar используя UIExtensionSites. Затем он ассоциирует // событие Click кнопки с командой. // UIExtensionSites указывает расширение, где модуль может // добавлять элементы UI, такие как элементы панели управления. private void AddToolStripButton(string commandName, string text) { ToolStripButton button = new ToolStripButton(); button.Text = text; button.ToolTipText = text; // Добавляем кнопку в MainToolBar. WorkItem.UIExtensionSites[UIExtensionSiteNames.MainToolbar].Add(button); // Ассоциируем событие кнопки Click с командой WorkItem.Commands[commandName].AddInvoker(button, "Click"); }
- Добавьте следующий код в метод ExtendToolStrip
AddToolStripButton(Constants.CommandNames.ShowHelloWorldMessage, "Hello World");
- Создайте CommandHandler для обработки команды, которую вы только что описали. Эта команда выводит HelloWorldView на правой панели (RightWorkspace)
// Обработчик команды используемый для обработки срабатывания команды [CommandHandler(Constants.CommandNames.ShowHelloWorldMessage)]
public void OnShowHelloWorldMessage(object sender, EventArgs e)
{
// Добавить представление HelloWorld (smart part) в WorkItem
// чтобы отображать его прямо в RightWorkspace в приложении.
HelloWorldView hwview = ShowViewInWorkspace< HelloWorldView >(WorkspaceNames.RightWorkspace);
}
- Нажмите F5 чтобы скомпилировать и запустить приложение ** **
- Проверьте работу и закройте его. ** **
После того, как вы создали свое первое приложение, вы можете использовать How-to топики из документации SCSF для доработки вашего приложения в следующих направлениях:
- они помогут вам создать основополагающий модуль (foundational module)
- они помогут вам создать Disconnected Service Agent – модуль для управления подключением к удаленным сервисам
- они помогут вам создать представление Windows Presentation Foundation (WPF) вместе с презентером
- и т.д.
Оригинал: Getting Started with the Smart Client Software Factory 2010
Перевод Рамиль Алиякберов a.k.a. R@Me0
PS. Буду рад комментариям и конструктивным предложениям.
Тем кто все прочитал, можно посмотреть видео. Ни каких комментариев там нет и звука тоже… Там только весь описанный процесс заснятый на видео.
Да, хочу еще задать вопрос: Какой из роликов лучше по качеству?
Просто записывал я их разными способами.
Шаг1
Шаг2
Теги: C#, SCSF, Soft-programing, Архитектура приложения