1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cpjit-choper-elk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Чоппер-Элк (Choper-Elk) — это фреймворк, который представляет собой «комбинированный контейнер для реализации IOC и поддержки различных протоколов WCF».

Он позволяет полностью передать управление сервисами Чоппер-Элку, предоставляя возможность легко переключаться между протоколами WebHttpBinding, BasicHttpBinding и TCPBinding. Встроенный IOC позволяет развязать модули в вашем проекте подобно тому, как программисты на Java используют Spring-Framework, добавляя ряд характеристик (аналогично аннотациям в Java) для внедрения экземпляров.

Содержание

  1. Введение в структуру проекта:
    • Choper.Elk — фреймворк для работы с контейнером WCF и IOC.
    • Choper.Elk.Buckhorn — общие характеристики, исключения и перечисления.
    • Choper.Elk.Test.Contract — тестовый интерфейс для WCF.
    • Choper.Elk.Test.BLL — тестовая бизнес-логика.
    • Choper.Elk.Test.DAL — тестовые данные доступа.
    • Choper.Elk.Test.Model — тестовые модели.
  2. Добавление зависимостей динамических библиотек:
    • Ссылка на CPJIT.Library.CPJ4net.dll или загрузка с GitHub.
  3. Быстрое создание сервиса с поддержкой REST вызовов:
    • Шаг 1: проверка конфигурации в файле Choper.Elk.exe.config.
    • Шаг 2: проверка файла application.properties.
    • Шаг 3: проверка наличия папки business.
    • Шаг 4: написание простого интерфейса WCF.
  4. Основные API:
    • ConfigurationAttribute — используется для классов, делая их пригодными для конфигурации.
    • DataAccessAttribute — используется для классов, обозначая их как слои доступа к данным.
    • BusinessAttribute — используется для классов, указывая на их принадлежность к бизнес-логике.
    • ContractAttribute — используется для классов, определяя их как реализацию WCF-протоколов.
    • ValueAttribute — применяется к приватным переменным, позволяя автоматически считывать и присваивать значения из файла конфигурации. ### 6. BeanAttribute особенность

Описание: Эта особенность применяется к методу. Когда метод отмечен этой особенностью, choper-elk фреймворк автоматически выполнит этот метод.

Примечание: Метод, отмеченный этой особенностью, должен иметь возвращаемое значение.

Пример:

[Configuration("activemqConfig")]
public class ActivemqConfig
{
  [Bean(Name = "activemqConnectionFactory")]
  public IConnectionFacotry ActiveMQConnectionFacotry()
  {
    ConnectionFactory factory = new ConnectionFactory();
    factory.CientId = "ActiveMQ 测试客户端";
    return factory;
  }
}

7. ParameterAttribute особенность

Описание: Эта особенность применяется к параметрам метода. Когда параметр отмечен этой особенностью, choper-elk фреймворк автоматически введёт значение для этого параметра.

Пример:

[Configuration("activemqConfig")]
public class AcitvemqConfig
{
  [Bean(Name = "activemqConnectionFactory")]
  public IConnectionFacotry ActiveMQConnectionFacotry()
  {
    ConnectionFactory factory = new ConnectionFactory();
    factory.CientId = "ActiveMQ 测试客户端";
    return factory;
  }
  
  [Bean(Name = "activemqConnection")]
  public IConnection ActiveMQConnection([Parameter("activemqConnectionFactory")] ConnectionFactory connectionFactory)
  {
    IConnection connection = null;
    try
    {
      connection = connectionFactory.CreateConnection();
      connection.Start();
    }
    catch(Exception e)
    {
      Console.WriteLine(e.Message);
    }
    return connection;
  }
}

8. ResourceAttribute особенность

Описание: Эта особенность применяется к приватным переменным. Когда приватная переменная отмечена этой особенностью, choper-elk фреймворк автоматически введёт значение для неё.

Примечание: Только когда класс отмечен DataAccessAttribute, BusinessAttribute или ContractAttribute особенностями, приватные переменные, отмеченные ResourceAttribute особенностью, будут автоматически введены.

Пример:

[Business("userBusiness")]
public UserBusinessImpl : IUserBusiness
{
    [Resource(Name = "userDataAccess")]
  private IUserDataAccess userDataAccess;
  
  public User FindUserById(string userId)
  {
    if (string.IsNullOrEmpty(userId))
    {
        return null;
    }
    return this.userDataAccess.SelectUserById(userId);
  }
}

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/cpjit-choper-elk.git
git@api.gitlife.ru:oschina-mirror/cpjit-choper-elk.git
oschina-mirror
cpjit-choper-elk
cpjit-choper-elk
master