6/30/2007

Skyscrapr - сайт для архитекторов ПО

Skyscrapr - site on MSDN where you can learn about software architects and architecture.  Whether you have a career aspiration to become a software architect, or you are wondering what architects in IT organizations are responsible for, Skyscrapr is the place to find out the answer.

 

FAQ с ответами на вопросы: Кто такие архитекторы? Что делают / чем занимаются архитекторы? Как стать архитектором?

Другие сайты по теме: MSDN/Architecture, The Architecture Journal, Related Sites.

Типы архитекторов: Solutions Architecture, Infrastructure Architecture, Enterprise Architecture.

Форум по архитектуре ПО: forum

Адреса, явки и пароли известных архитекторов: Architect Career Profiles.

Работа с командной строкой

Как можно организовать работу с командной строкой (подразумевается, что через командную строку программа получает необходимые данные).

 

Способ 1:

(код разбора строки и загрузки свойств находится внутри класса)

 

public class Host

{

    public static void Main(string[] args)

    {

        Util util = new Util(args);

        util.Start();

    }

}

public class Util

{

    public Util(string[] args)

    {

        // парсинг и валидация значений args[]

    }

    public void Start() {...}

}

 

Плюс: коротко и ясно.

Минус: если Util понадобится, например, в WF-активности, то при каждом вызове будет происходить парсинг и валидация значений args[].

 

Примечание: конструктор Util можно сделать без параметров, при этом использовать значение Environment.CommandLine.

 

Способ 2:

(отдельный immutable-класс с параметрами для класса Util)

 

public class Host

{

    public static void Main(string[] args)

    {

        UtilSettings us = new UtilSettings(args);

        Util util = new Util(us);

        util.Start();

    }

}

public class Util

{

    public Util(UtilSettings s) {...}   

    public void Start() {...}

}

 

public class UtilSettings

{

    public UtilSettings(string[] args) {...}

}

 

Плюс: избавились от минуса, который был в «Способ 1».

Минус: данные для UtilSettings передаются через конструктор. Если источников с данными будет несколько, то и конструкторов будет несколько. В итоге, чтобы понять что делать с данными, надо будет смотреть на количество и очередность параметров у конструкторов.

 

Способ 3:

(модифицированный UtilSettings из «Способ 2»)

 

public class UtilSettings

{

    private UtilSettings() { }

    public static UtilSettings FromCommandLine(string[] args) {...}

}

 

Плюс: избавились от минуса, который был в «Способ 2».

Минус: нет.

 

Теперь, если понадобится загрузить параметры, например, из xml-файла, то в UtilSettings надо просто добавить соответствующий метод, например,

public static UtilSettings FromXml(string path) {…}

Компоненты для работы с HTTP, FTP, SMTP and POP3

Вот эти «хлебные крошки»* MSDN Home > Visual Studio > Extending Visual Studio > Affiliate Home Page ведут к набору компонентов для работы с HTTP, FTP, SMTP and POP3.

 

Компания RemObjects предлагает «Internet Pack 'Vinci' for .NET»:

 

The main goal of Internet Pack is to abstract the already powerful and relatively easy to use Socket classes of the .NET framework to provide a library that makes it easy to implement the different communication protocols commonly used on the Internet, as well as to implement custom forms of network communication. Built on top of this flexible and highly scalable architecture, Internet Pack provides ready-to-use client and server components for many protocols, including HTTP, FTP, SMTP and POP3, and more components are added over time. Internet Pack for .NET is available as a free download including full source, under the Internet Pack License.

Product Features:

  • Lightweight and comfortable to use base framework
  • Flexible and highly scalable architecture
  • Extendable Connection class allows you to easily integrate custom encryption or compression solutions
  • Extendable FTP Server framework and VirtualFTP sample implementation
  • CommandBasedServer and Client based components allow you to easily implement your own command based protocols (such as SMTP, FTP Command Connection, etc.)

Пока не смотрел, но судя по описанию, там есть на что посмотреть.

То что есть исходник – это хорошо. Но можно и без него обойтись, если сборки не обфусцированы (см. Reflector) ;)

 

* «хлебные крошки» = navigation path — which is also known as a breadcrumb or eyebrow — that shows the user the current page location and displays links as a path back to the home page.

Windows Live расширяется

В Windows Live скоро появятся новые сервисы:

 

Windows Live Photo Gallery

is a stand-alone service that upgrades Windows Vista's Windows Photo Gallery. Offered at no charge, Windows Live Photo Gallery enables both  Windows Vista and Windows XP SP2 customers to share, edit, organize and print photos and digital home videos).

 

Windows Live Folders

will provide customers with 500 megabytes of online storage at no charge.

 

Так сказал Chris Jones (Corporate Vice President, Windows Live Experience Program Management).

А еще он сказал: we want to people to be able to connect to the content they want regardless of what device they're on – be it a PC at home or work, or a phone. ... We're taking proactive steps to make this a reality.

 

P.S.

Наверное, не пройдет и года, как Microsoft объявит о выходе .NET-процессора с названием, например, «Кристаллический .NET» или «Силиконовый .NET». Скорее всего .NET-процессоры будут использоваться не только в  телефонах ;)

6/28/2007

Windows Mail

Windows Mail  - это всем известный Outlook Express после прокачки J. Наконец-то, можно создавать учетные записи на основе xml-файлов (IMAP Mail Account File, NNTP News Account File, Template Account File).

см. MSDN: New Handling for Account Data

(ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/outlookexpress/oe/overviews/account_entry.htm)