Как я могу изучить CSLA.NET Быстро?

Я думаю, что стоит проводить различие между истинным параллелизмом и более широким параллелизмом .

Параллелизм - это способ заставить ваш код работать быстрее, выполняя несколько вычислений одновременно. Это может варьироваться от SIMD-инструкций на процессоре до распределенных приложений на нескольких серверах. Выбор параллелизма будет зависеть от характера проблемы.

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

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

Scala на самом деле не поддерживает инструкции SIMD (возможно, из-за основ JVM), но есть библиотеки для ускорения GPU, на которые вы обязательно должны обратить внимание, если выполняете тяжелые вычисления.

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

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

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

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

6
задан George Stocker 6 June 2009 в 21:51
поделиться

7 ответов

Ответ на этот вопрос, все зависит от Вашего определения слов, "учится" и "быстро". По моему опыту, никто никогда ничего не изучает быстро.

Это сказанное я предложил бы, чтобы Вы посетили сайт Rockford Lhotka и проверили форумы и книги, которые являются там.

http://www.lhotka.net/cslanet/
http://forums.lhotka.net/

9
ответ дан 8 December 2019 в 02:15
поделиться

Получите книгу. Прочитайте книгу. Начните использовать платформу: o/

Я работал с CSLA.Net в течение 4 лет, и я все еще изучаю новые приемы и функции каждую неделю: o)

8
ответ дан 8 December 2019 в 02:15
поделиться

Я предположил бы, что Вы читаете, эта книга из Рокфорда для получения Вас начала понимать объяснение позади платформы и как все совмещается

1
ответ дан 8 December 2019 в 02:15
поделиться

I предложил загрузить исходный код CSLA и образцы (особенно образец ProjectTracker) и взглянуть на код. Для меня лучший способ быстро чему-то научиться - это что-то построить.

Чтобы начать писать объекты, начните с создания инфраструктуры портала данных.

например, вот базовый объект CSLA:

[Serializable()]
public class Widget : Csla.BusinessBase<Widget>
{
    private Widget()
    {
    }
}

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

[Serializable()]
public class Widget : Csla.BusinessBase<Widget>
{
    private Widget()
    {
    }

    public static Widget Fetch(int id)
    {
        return Csla.DataPortal.Fetch<Widget>(new Csla.SingleCriteria<Widget, int>(id));
    }
}

Следующим шагом будет создание метода портала данных, который создаст портал данных CSLA.

[Serializable()]
public class Widget : Csla.BusinessBase<Widget>
{
    private Widget()
    {
    }

    public static Widget Fetch(int id)
    {
        return Csla.DataPortal.Fetch<Widget>(new Csla.SingleCriteria<Widget, int>(id));
    }

    private void DataPortal_Fetch(Csla.SingleCriteria<Widget, int> criteria)
    {
        // Connect to database (or use ORM) and populate the object here based on the criteria.Value which is the id value
    }
}

После этого следующим шагом будет определение ваш бизнес-объект со свойствами и т. д. Здесь вы захотите взглянуть на предоставленные образцы и увидеть, как определяются отношения родитель / потомок и т. д.

Надеюсь, это поможет вам начать работу.

Вы можете загрузить код и образцы на http://lhotka.net/cslanet/Download.aspx

23
ответ дан 8 December 2019 в 02:15
поделиться

Magenic (Rocky's company) offers several CSLA master Classes throughout the year which are excellent and will give you an immersion experience.

0
ответ дан 8 December 2019 в 02:15
поделиться

My best suggestion is don't. There are many data access architectures that are more robust, more maintainable, better performing, and more widely accepted in the industry. NHibernate, Linq-to-Sql, and Microsoft Entity Framework are three. Go with the industry. Don't be the lone ranger.

0
ответ дан 8 December 2019 в 02:15
поделиться

Настоятельно рекомендую ознакомиться с нашими шаблонами CSLA 3.8 . Они поставляются как с VB.NET, так и с C# вкусом. В настоящее время мы работаем над основным релизом, который добавляет поддержку SQL Stored Procedure, Object Factory и Many-to-Many. Это отличная отправная точка, потому что у нас есть примеры из реального мира, такие как приложение Microsoft PetShop Sample, которое полностью сгенерировано (как бизнес-уровни, так и уровни доступа к данным) с помощью юнит-тестов, чтобы показать вам, как точно работает CSLA. Если у вас возникли вопросы или вы столкнулись с проблемами, мы здесь для того, чтобы помочь вам понять и развиваться как разработчик CSLA.

Еще одним отличным комплиментом в изучении CSLA является покупка следующей книги: Expert C# 2008 Business Objects .

Спасибо. -Блейк Немейский (автор CodeSmith CSLA Templates)

2
ответ дан 8 December 2019 в 02:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: