Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Vingrad .NET Framework, присоединяйтесь! 
:(
    Опции темы
Exception
  Дата 6.1.2006, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Появилась у меня одна идея. Правда, мои идеи редко завершались успешно, ну да ладно smile . Дело в том, что зачастую необходим какой-то кусок кода, которого нету в .NET Framework. И не ожидается. Так вот. Было бы очень интересно создать совместными усилиями библиотеку таких классов. На данном этапе хотелось бы определить задачи, которые требуются от подобного фрэймворка.
Цели:
  • Создание независимой библиотеки с необходимыми классами
  • Портирование некоторых функций WinAPI, которые не реализованы в .NET Framework
  • Собирание freeware-компонентов в один фрэймворк (благо, есть Reflector)
Итак, кому это интересно, предлагайте, что в него можно включить.
P.S. Часть идеи взята отсюда, но немного изменена концепция.
Заниматься разработкой буду я и все желающие присоединиться smile

Это сообщение отредактировал(а) Pegas - 12.1.2006, 12:19
PM   Вверх
Exception
Дата 6.1.2006, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Кстати, туда можно засунуть наиболее интересные примеры из FAQ'а.
PM   Вверх
AntonioBanderaz
Дата 6.1.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


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

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



определи основные направления


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Exception
Дата 6.1.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(AntonioBanderaz @ 6.1.2006, 21:44 Найти цитируемый пост)

определи основные направления

Хотелось бы послушать Ваши предложения smile
Цитата(Exception @ 6.1.2006, 20:51 Найти цитируемый пост)

# Портирование некоторых функций WinAPI, которые не реализованы в .NET Framework
# Собирание freeware-компонентов в один фрэймворк (благо, есть Reflector)

smile

Это сообщение отредактировал(а) Exception - 6.1.2006, 20:53
PM   Вверх
mr.DUDA
Дата 6.1.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Предлагаю класс TypeName - удобное средство для парсинга, хранения, сравнения и сериализации информации о типах:

Присоединённый файл ( Кол-во скачиваний: 44 )
Присоединённый файл  TypeName.cs 13,34 Kb


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 6.1.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Хотелось бы для начала систематизировать это дело. Итак...
Vingrad.Controls - наши (и не только) юзерконтролы. Сюда будем складывать украшательства типа менюшек и прочее :)
Vingrad.Utils - нечто типа того, что предложил mr.DUDA.
Что еще?
P.S. Если есть интересные классы, постите с кратким описанием возможностей.
P.P.S. Библиотеку нужно только для 2.0? Или две версии?
PM   Вверх
dronzo
Дата 6.1.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Exception @ 6.1.2006, 22:11)
P.S. Если есть интересные классы, постите с кратким описанием возможностей.

Только своё или вообще, что интересное под руку подвернётся на досуге ? smile
PM MAIL   Вверх
Exception
Дата 6.1.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Неважно, главное, чтобы с сорсами :)
mr.DUDA, сам писал :) ? Как будет комп, начну складывать классы в прожект. Правда, только для 2.0. Для 1.1 пусть делает кто-нибудь другой (если это вообще нужно), ибо 2003-й студии у меня нет.
PM   Вверх
mr.DUDA
Дата 6.1.2006, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Цитата(Exception @ 6.1.2006, 21:38 Найти цитируемый пост)
mr.DUDA, сам писал


неа, исходник не я писал, но использую часто smile

З.Ы. а не дублируем ли мы FAQ ? smile


--------------------
user posted image
PM MAIL WWW   Вверх
sergejzr
Дата 6.1.2006, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



FAQ - Frequently Asked Questions.

Библиотеки к вопросам как то не относятся smile


Цитата(dronzo @ 6.1.2006, 21:19 Найти цитируемый пост)

Только своё или вообще, что интересное под руку подвернётся на досуге ?

Я думаю всё таки надо делить контент и уж конечно брать можно исключительно то, что в public domain. Самое мелое ограничение - фтоппку. И над своей лицензией возможно стоит подумать. Короче обмозгуйте всё хорошо, прежде чем начинать собирать материалы.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Exception
Дата 6.1.2006, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Думаю, GPL вполне подойдет.
Добавлено @ 23:50
Ну и материалы из OpenSource-проектов, соответственно.
PM   Вверх
Void
Дата 6.1.2006, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Цитата(Exception @ 7.1.2006, 01:47 Найти цитируемый пост)
Думаю, GPL вполне подойдет.

Сильно сомневаюсь. GPL означает полный и безоговорочный запрет на использование в закрытом коммерческом коде. Оно нам надо? Что-то вроде BSD или MIT еще куда ни шло. А вообще: лучше, как сказал sergej.z, public domain.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Exception
Дата 7.1.2006, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



А, ну да. Забыл про эту "особенность" ЖПЛ. А вообще, все, что нам нужно - запрет на продажу самой библиотеки. А больше запретов вроде и нет.
PM   Вверх
mr.DUDA
Дата 7.1.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



LGPL - вот то что подойдёт. Особенность этой лицензии: разрешено использование в любых проектах без каких-либо ограничений. Единственное условие лицензии: при внесении любых изменений в исходный код библиотеки, разработчику необходимо в обязательном порядке сообщить об этих изменениях нам, причём не просто сообщить - а предоставить полный изменённых исходный код, с описанием сути произведённых изменений.

По такой лицензии, к примеру, распространяется 3D-движок OGRE. Плюсы: большое комьюнити. Минусы: нет.


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 7.1.2006, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



ОК
Добавлено @ 13:38
ОК. Дай линк почитать
PM   Вверх
Lord Dagger
Дата 7.1.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Exception @ 6.1.2006, 19:51 Найти цитируемый пост)

Портирование некоторых функций WinAPI, которые не реализованы в .NET Framework

Хм, а как быть с проблемой использования unsafe code?
В оригинальном framework CLR предоставляет полностью безопасные интерфейсы.
У нас в этом плане намечается что-то вроде http://pinvoke.net/?

Не думаю, что стоит создавать библиотеку контролов - уже много аналогов, да и не сложно это - контрол создать. Гораздо лучше сосредоточится на системной функциональности.

Стоит обсудить идею сотрудничества с Microsoft.

P.S. Поправил орфографию и стилистику

Это сообщение отредактировал(а) Lord Dagger - 7.1.2006, 16:57
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Exception
Дата 7.1.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Насчет контролов - имхо, самые лучшие и надо сунуть в библиотеку. А насчет функциональности - придумаем.
Добавлено @ 15:40
Какие классы вы хотели бы видеть в библиотеке?
PM   Вверх
Lord Dagger
Дата 7.1.2006, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Exception
Можно сделать класс для работы с файлами архивов (zip, gzip).
Также сделать быструю SOAP-сериализацию, помню, на RSDN была статья посвященная тормознутости этой функциональности в Framewok 1.1, не знаю, как там дело в 2.0
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Exception
Дата 7.1.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Про архивы - дельно. Поищу. Насчет быстрой SOAP - не думаю, что это необходимо.
PM   Вверх
Lord Dagger
Дата 7.1.2006, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Exception
Есть C# реализация zlib. Стоит встроить.
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Lord Dagger
Дата 7.1.2006, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Уверен в необходимости использования библиотеки LZMA. Могу заняться ее имплементацией в среде .Net.
Добавлено @ 20:37
Кстати, а как назовем библиотеку smile Название "Vingrad .Net Framework" длинное и некрасивое. Надо по традиции короткое и стильное имяsmile
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Void
Дата 7.1.2006, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Цитата(Lord Dagger @ 7.1.2006, 22:37 Найти цитируемый пост)
Уверен в необходимости использования библиотеки LZMA. Могу заняться ее имплементацией в среде .Net.

Так вроде бы уже?


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Lord Dagger
Дата 7.1.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Void
Имелось в виду - включить эту реализацию в состав нашего framework.
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Exception
Дата 7.1.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Void, там есть ограничение на изменение. Нам такая не пойдет. Дело в том, что хочется сделать архиватор так: есть пр-во имен Vingrad.Files.Archive, в нем есть абстрактный класс Archiver (с абстрактными методами по архивации/деархивации). А потом для наиболее распространенных типов архивов наследовать от него (ZipArchiver, RarArchiver, etc).
PM   Вверх
Lord Dagger
Дата 7.1.2006, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Exception @ 7.1.2006, 21:08 Найти цитируемый пост)

Дело в том, что хочется сделать архиватор так: есть пр-во имен Vingrad.Files.Archive, в нем есть абстрактный класс Archiver (с абстрактными методами по архивации/деархивации). А потом для наиболее распространенных типов архивов наследовать от него (ZipArchiver, RarArchiver, etc).

Да, именно такsmile Единственный вопрос - не является ли формат rar проприетарным?
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 7.1.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Vingrad.Framework - вроде, название неплохое

Цитата(Exception @ 7.1.2006, 12:38 Найти цитируемый пост)
ОК. Дай линк почитать

http://www.gnu.org/copyleft/lgpl.html

P.S.
Насчёт архиваторов, могу предложить CSharpZipLib


--------------------
user posted image
PM MAIL WWW   Вверх
Lord Dagger
Дата 7.1.2006, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



mr.DUDA
Хм. Это то, о чем я говорил, но есть один момент - у нее рецензия GPL, это нам не подходит.
И одной этой либой явно не обойтись - мало форматов знаетsmile
Добавлено @ 21:32
Цитата(mr.DUDA @ 7.1.2006, 21:24 Найти цитируемый пост)

http://www.gnu.org/copyleft/lgpl.html

Может быть, Вы имели ввиду http://www.gnu.org/copyleft/lesser.html smile
Добавлено @ 21:34
Код

LGPL == GNU Lesser General Public License;

Если не ошибаюсь;)
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Void
Дата 7.1.2006, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Цитата(Lord Dagger @ 7.1.2006, 23:18 Найти цитируемый пост)
Единственный вопрос - не является ли формат rar проприетарным?

Исходники распаковщика открыты с единственным ограничением: запрет на восстановление оригинального алгоритма сжатия.



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
mr.DUDA
Дата 7.1.2006, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Цитата(Lord Dagger @ 7.1.2006, 20:34 Найти цитируемый пост)
http://www.gnu.org/copyleft/lgpl.html

Может быть, Вы имели ввиду http://www.gnu.org/copyleft/lesser.html

Угу, именно это имел ввиду.


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 7.1.2006, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Просмотрел, вроде подходит. Кто может заняться (де)архиватором? Для начала нужен абстр. класс Vingrad.Framework.FileIO.Archiving.Archivator с override-пропертями типа FileExtension и override-методами для паковки/распаковки. Сейчас я не за компом, посему заняться не могу..
PM   Вверх
Lord Dagger
Дата 7.1.2006, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Exception
Могу попробовать, только надо определить функциональность требуемую.
Цитата(Exception @ 7.1.2006, 22:07 Найти цитируемый пост)

Vingrad.Framework.FileIO.Archiving.Archivator

А почему бы не Vingrad.Framework.IO.File.Archiving.Archiver?
Добавлено @ 22:27
Думаю, вначале надо выстроить базовую иерархию пространства имен и его классов.
Желательно, оформить графическиsmile
Давайте обсудим детали.
А то начинать красить доски, когда еще столбы для забора не поставили... smile
Добавлено @ 22:36
Организовал SVN репозиторий:
svn://svn.subversion.ru/usr/local/svn/vingrad_framework
Рекомендую использовать клиент Totorise SVN.
Для создания аккаунта обращайтесь ко мнеsmile

Это сообщение отредактировал(а) Lord Dagger - 7.1.2006, 22:37
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Exception
Дата 7.1.2006, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Гы. У меня компа нет под рукой (. Других вариантов нет? Типа irc и т.п.? А вообще, нам бы чатик простенький...
По сабжу: Archiver, естессно ). Хотя, наверное проще будет разделить его на 2 кл. - Archiver и Dearchiver. Archiuer имеет private-конструктор и три конструктора с параметрами: один принимает массив файлов, другой - массив строк-имен файлов, третий - каталог для архивации. Ну и развивай идею дальше :)
PM   Вверх
Lord Dagger
Дата 7.1.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Exception
Цитата(Exception @ 7.1.2006, 22:59 Найти цитируемый пост)

Других вариантов нет? Типа irc и т.п.? А вообще, нам бы чатик простенький...

Брр. Не пойму, как irc может служить алтернативой SVN? smile
Чат - есть тот же Skype, irc (хотя его люблю меньше)
Цитата(Exception @ 7.1.2006, 22:59 Найти цитируемый пост)

Хотя, наверное проще будет разделить его на 2 кл. - Archiver и Dearchiver

Ну это дело вкусаsmile Можно и так.
Надо бы понять, из каких частей будет состоять весь namespace...
Пока я представляю себе это так:
Framework->IO->File->Archiving // Файловый ввод\вывод
Framework->IO->Network->FTP // Это я для примера, сюда будем помещать сетевой ввод\вывод
Framework->System // Системные функции. К примеру, функциональность для работы с Event Log

Продолжаем списокsmile

Это сообщение отредактировал(а) Lord Dagger - 7.1.2006, 23:44
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Lord Dagger
Дата 7.1.2006, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Поступили мне предложения реализовать формат для хранения информации, более компактный и быстрее парсимый, чем XML.
Народ предлагает текстовый и бинарный формат реализовать. Можно будет подумать, тем более, что многие все равно разрабатывают свои форматыsmile

--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Exception
Дата 8.1.2006, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Более удобного, честно говоря, не представляю. Зачем изобретать велосипед?
По сабжу:
(using Vingrad.Framework;)
Media - тут будут различные проигрыватели и т.п.
Text - функции String'а "в удобной упаковке" - поиск по regexp, поиск по wildcards, замена и т.п.

PM   Вверх
Medved
Дата 8.1.2006, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



В целом, на мой взгляд это хорошая идея.

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

Начать имхо лучше с того, что надо разработать ее варианты использования (Use Case).
Если кто-нибудь не значет что это такое, рекомендую в первую очередь изучить UML, и только затем браться за проектирование этой либы.
Если кто-то считает, что ему как программисту, не нужен UML, то я могу только посочувствовать этому человеку.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Exception
Дата 8.1.2006, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Хм.. Use Case для библиотеки? Зачем?
PM   Вверх
Lord Dagger
Дата 8.1.2006, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Pegas @ 8.1.2006, 01:13 Найти цитируемый пост)

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

Я согласен, мы уже к этому приступили.
Цитата(Pegas @ 8.1.2006, 01:13 Найти цитируемый пост)

Если кто-нибудь не значет что это такое, рекомендую в первую очередь изучить UML, и только затем браться за проектирование этой либы.

Знаем, батенька, знаемsmile
Без UML в проектах никуда, как и без четкой документации.
Только пока не очерчены примерные контуры затеи, за UML рано браться.

Думаю, за два-три дня соберутся основные идеи, затем - Microsoft Project нам поможет.
Составим шаблон, будем детализировать "сверху вниз".
Отдельно - спецификации кодирования и проекта.
В качестве средства документирования осмелюсь предложить doxygen.
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Medved
Дата 8.1.2006, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Цитата(Lord Dagger @ 8.1.2006, 05:30 Найти цитируемый пост)

Только пока не очерчены примерные контуры затеи, за UML рано браться.


Диаграмы вариантов использования (Use Case) как раз-то и помогают в четком определение границ предметной области и уточнении требований к разрабатываемой системе.
Кроме того, использование этих диаграм закладывает основу для создания словаря терминов, для конкретной предметной области, с помощью которого в дальнейшем и будут общаться и понимать друг-друга как разработчики, так и другие члены команды (системные аналитики, системные архитекторы, тестеры, и т.д.)


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Exception
Дата 8.1.2006, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Эээ.. Насколько я знаю, use case применяются для описания конкретных операций взаимодействия юзера (а так как мы пишем библиотеку, программиста) с каким-либо из наших классов или их системой. Дык как можно их строить, если мы еще не до конца сформулировали состав этой библиотеки и ее задаци?
PM   Вверх
Medved
Дата 8.1.2006, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Цитата(Exception @ 8.1.2006, 06:31 Найти цитируемый пост)

Эээ.. Насколько я знаю, use case применяются для описания конкретных операций взаимодействия юзера (а так как мы пишем библиотеку, программиста) с каким-либо из наших классов или их системой.


Рекомендую почитать какой-нибудь учебник по UML. К примеру того же Леоненкова. Очень хорошо пишет.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Exception
Дата 8.1.2006, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Pegas, линка нету почитать?
Просто библиотека задумывалась как "свалка" классов, а не как цельный продукт. Посему не знаю, что тут можно моделировать.. Объясни подробнее, плз
PM   Вверх
Medved
Дата 9.1.2006, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



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

Или воспользуйся поиском по форуму.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
arilou
Дата 9.1.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

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



Цитата(Exception @ 8.1.2006, 23:39 Найти цитируемый пост)

как "свалка" классов, а не как цельный продукт

В итоге может реально получиться свалка классов, а не целый продукт smile
Цитата(Exception @ 8.1.2006, 03:31 Найти цитируемый пост)

Дык как можно их строить, если мы еще не до конца сформулировали состав этой библиотеки и ее задаци?

В это то и вся соль. Строятся use-cases как будтно бы биб-ка уже написана, так, чтобы все было как можно удобнее для юзера (или программера, в зависимости от target audience проекта). И на основе оных потом проектируются классы. Это может показакться странным, но какая-то сермяжная правда в этом есть.

А идея хороша. Я думаю, что надо определить общую "кучу фич", разбить ее на большие группы неймспейсов. Потом выделить группы по майлстоунам (типа версия 1, версия 2, и т.д.) и распределять между программерами на реализацию. От себя могу предложить реализацию паттерна registry с поддержкой отложенного поиска объектов 8-) (.NET 2.0). Она подходит для создания списков и иерархических структур, где необходимо дать возможность третьей стороне добавить элемент в реестр по запросу (lazy-load поведение). Я сам на ее основе делал иерархическую систему плагинов.

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  Registry.cs 4,39 Kb


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Exception
Дата 11.1.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Млин... А не мог бы кто-нибудь подумать над use-cases? Ну не знаю я UML нормально ) не хочется, чтобы проект умер. На данный момент нужен тот, кто знает uml и мог бы помочь с этим. Я готов заниматься конкретными классами/кодингом.
PM   Вверх
Medved
Дата 11.1.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



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

Для увиличения своей "грузоподъемности" я бы порекомендовал начать с прочтения книги Гради Буча - Объектно-ориентированный анализ и проектирование с примерами приложений на С++. ИМХО это первый шаг, к изучению UML.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
dronzo
Дата 11.1.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пробежавшись по форумам (всем), наткнулся на обилие тем, где спрашивается о том, как работать с COM-портом. Ради интереса загнал "COM-порт" в поиск и получил 24 страницы ссылок на информацию для размышления smile Имхо, класс для работы с COM-портом включить стоит, так как тема очень насущная, да и исходники несколько дней назад пробегали на форуме.
PM MAIL   Вверх
Poison80
Дата 11.1.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(dronzo @ 11.1.2006, 13:46)
Пробежавшись по форумам (всем), наткнулся на обилие тем, где спрашивается о том, как работать с COM-портом. Ради интереса загнал "COM-порт" в поиск и получил 24 страницы ссылок на информацию для размышления  smile  Имхо, класс для работы с COM-портом включить стоит, так как тема очень насущная, да и исходники несколько дней назад пробегали на форуме.

а смысл?! класс для работы с ком портом идет в Net framework 2.0
PM MAIL   Вверх
dronzo
Дата 11.1.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Poison80
Нигде до этого в теме не было сказано, что проект будет ориентирован исключительно на .NET Frawework 2.0.

Это сообщение отредактировал(а) dronzo - 11.1.2006, 17:28
PM MAIL   Вверх
Medved
Дата 11.1.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Цитата(dronzo @ 11.1.2006, 20:17 Найти цитируемый пост)

Нигде до этого в теме не было сказано, что проект будет ориентирован исключительно на .NET Frawework 2.0.


ИМХО это подразумевается само собой.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Exception
Дата 25.1.2006, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



DatasetSerializer.vb

Код

Public Class DataSetSerializer(Of T)

    Private Shared _xmler As New XmlSerializer(GetType(T), "")

    Protected Sub New()
    End Sub

    Public Shared Function Serialize(ByVal obj As T) As DataSet
        Dim ds As New DataSet
        Using ms As New MemoryStream
            _xmler.Serialize(ms, obj)
            ms.Seek(0, SeekOrigin.Begin)
            ds.ReadXml(ms)
        End Using
        Return ds
    End Function

    Public Shared Function Deserialize(ByVal dataSet As DataSet) As T
        Dim result As T
        Using ms As New MemoryStream
            ms.Seek(0, SeekOrigin.Begin)
            result = CType(_xmler.Deserialize(ms), T)
        End Using
        Return result
    End Function

End Class

Расставил. Использование:
Код

Public Class [Order]

    Public OrderID As Guid

    Public Customer As String

    Public Sub New(ByVal orderID As Guid, ByVal customer As String)
        Me.OrderID = orderID
        Me.Customer = customer
    End Sub

End Class

Public Class Startup

    Public Shared Sub Main()
        Dim o1 As New [Order](Guid.NewGuid(), "Dan")
        Dim o2 As New [Order](Guid.NewGuid(), "Someone")
        Dim orders As [Order]() = {o1, o2}
        Dim resultSet As DataSet = DataSetSerializer(Of [Order]()).Serialize(orders) 'Результат записывается в датасет
    End Sub

End Class

Полезен, например, если движок БД возвращает массив бизнес-объектов, а необходимо выполнить databounding.

Это сообщение отредактировал(а) Exception - 30.1.2006, 16:54
PM   Вверх
Medved
Дата 25.1.2006, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

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



Если можно, то отформатируй пожалуйста код. Так сложно его читать.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Exception
Дата 25.1.2006, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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




Модератор: Сообщение скрыто.

PM   Вверх
Exception
Дата 30.1.2006, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Pegas @ 25.1.2006, 19:04 Найти цитируемый пост)

Если можно, то отформатируй пожалуйста код. Так сложно его читать.

fixed smile
Плюс разъяснение, зачем этот код
PM   Вверх
Exception
Дата 20.3.2006, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Так-с... smile
Похоже, энтузиастов, готовых сюда складировать решения, не наблюдается smile . Чего же так? Вот, например, только что человеку понадобилось считать CRC. Почему бы не засунуть это в отдельный класс? Давайте все-таки постараемся медленно, но наполнять пока что несуществующую библиотеку. Вещь-то полезная..
PM   Вверх
Xenon
Дата 11.1.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



И умерло smile


--------------------
user posted image  
PM MAIL   Вверх
Gregorian
Дата 11.1.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Капец.  smile 
--------------------
Вступил на путь доморощенного жабиста дилетанта! 
PM MAIL   Вверх
mr.DUDA
Дата 11.1.2007, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Нет, ну примеров-то полно. Правда все они по темам раскиданы, самому иногда искать приходилось.


--------------------
user posted image
PM MAIL WWW   Вверх
Real
Дата 2.1.2008, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я хачу добавить методы до .NET Framework? 
PM   Вверх
Kefir
Дата 3.1.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

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



Оп. Привет. Ну, в общем, задумка интересная. Только со своей стороны не могу чего-то особенного предложить. Из интересного есть два контрола для WPF, а они, как я понял, не очень подходят для этого дела. Делают очень простые вещи. Первый - для просмотра FlowDocument с возможностью забайндить документ (по дефолту контролы от мс могут читать только с диска). Второй же контрол - логический UniformGrid. То биш поддерживает логический скроллинг (из МС-овских контролов логический скроллинг поддерживают только StackPanel и VirtualizingStackPanel).
Ещё можно замутить WebBrowser для WPF (опять же Frame не поддерживает эвентов отслеживания загрузки), но это будет на интеропе с обычным винформовым браузером. А вообще WebBrowser-а очень не зватает нативного для ВПФ.

И ещё вам на рассуждения - хэш функции с простым использованием (Hash.SHA1(String s) или Hash.MD5(File f)). Будет очень полезно.

Добавлено через 35 секунд
Ух, не заметил, что тема настолько старая В))))
PM MAIL WWW Skype   Вверх
kurzon
Дата 3.1.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -8
Всего: -11



Как добавить методы до .NET Framework?  
2Модеры Закрепите ету тему!!!
PM MAIL   Вверх
ivashkanet
Дата 3.1.2008, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(Real @  2.1.2008,  23:10 Найти цитируемый пост)
Я хачу добавить методы до .NET Framework?  

Цитата(kurzon @  3.1.2008,  17:43 Найти цитируемый пост)
Как добавить методы до .NET Framework? 

Ну вот Реал и запалился  smile 

Так безграмотно написать мог только один человек
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 3.1.2008, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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




 ! 
mr.DUDA
kurzon/Real, оффтоп! И вообще, про добавление методов в фреймворк тебе уже ответили что можно только унаследовать класс от стандартного, не более того.



--------------------
user posted image
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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