
中文 | Inglês
Introdução à estrutura
O YC.Boilerplate é um conjunto de estrutura de desenvolvimento rápido, que adota o modo de desenvolvimento de separação de front-end e back-end atual atual, com o Vue 2.0 no front-end e o Net 5.0 no back-end; A estrutura implementa vários inquilinos, webapi dinâmico, ORM múltiplo, IOC, tabela de banco de dados e geração de código de negócios e gerenciamento de usuários desenvolvido, permissões de função, funções gerais da organização, como dicionário de dados e log de auditoria.
O objetivo da estrutura é construir uma estrutura de desenvolvimento de modelos com acoplamento frouxo, combinação flexível, funções completas, desenvolvimento conveniente e carga de trabalho de desenvolvimento.
YC.Boilerplate Framework Technology Group QQ: 1060819005
Iteração mais recente
- Integrar o Docker relacionado
- Ferramenta de monitoramento de contêineres do Docker
- Existem imagens embaladas relevantes nos dados do grupo
- Forneça o tutorial de operação de implantação de imagem [consulte o diretório do documento]
- Novos Micro Services: Ocelot Gateway, Consumer, Balanceamento de Carga, Fusível, IdentityServer 4 Autenticação de Identidade
Tutorial em vídeo
- Introdução ao design central e quadro original do quadro da força Yuanci (Parte I): <https://www.bilibili.com/video/bv1vm4y1g7hc/>
- Introdução ao design central e quadro original do quadro da força Yuanci (parte 2): <https://www.bilibili.com/video/bv15h411s7w6/>
- META MAGNÉTICA COMPORTE DATABASE DATABASE Tabela e geração de código Prática tutorial: <https://www.bilibili.com/video/bv1om4y137d5/>
- Introdução ao microsserviço Experiência: https: //www.bilibili.com/video/bv1x44y1a7xu? Spm_id_from = 333.999.0.0
Início rápido
- [Demonstração on-line] (http://yc.yc-l.com/)
- [Documento on-line] (http://doc.yc-l.com/)
- Estrutura de separação frontal e traseira convencional: End End: Src Front yc.webfront, back end: src backstage yc.boilerplate.sln
- Consulte Src Microservice yc.microservice.sln para a versão Microservice da estrutura
- A versão mais recente da estrutura introduziu o Elasticsearch e outras suítes de big data para realizar a recuperação distribuída, estatísticas e análises de mais de dez milhões de níveis. Consulte a documentação mais recente para obter detalhes.
- Inicialize o banco de dados: src db (inquilino 1 e inquilino 2 dados de apresentação de banco de dados)
Pilha de tecnologia da estrutura e modo de desenvolvimento
- Modo de desenvolvimento: a atual separação popular e traseira popular.
- Front -end: VUE2.0, ElementUi e outras pilhas de tecnologia, que fornecem modelos de projeto para aplicativos de página única.
- O back -end adota a rede 5.0.
Recursos de quadro
- Desenvolvimento modular, combinação flexível, dissociação até o final, injeção e uso sob demanda.
- O atual modelo de desenvolvimento popular tem camadas claras.
- Coopere com o gerador de código interno da estrutura para concluir rapidamente a implementação lógica de funções complexas, como CRUD e Tree, sem digitar uma linha de código, economizando 60% da carga de trabalho.
Yc. Introdução em camadas de estrutura de caldeira
Hierarquia de estrutura de versão geral
- Camada central:
YC.Core implementa principalmente a especificação de interface de classe de design de nível superior de algumas classes, como interface de inquilino, injeção de interceptação AOPInterceptor AOP, lógica de token TokencOntext, recursos públicos, etc. - Camada de dados:
YC.Dapperframework , YC.Freesqlframework vários pacotes ORM, principalmente incluindo armazenamento, unidade de trabalho, etc. - Camada pública:
YC.Common é usada principalmente por várias classes públicas. - Camada de serviços de negócios: implementação da lógica de negócios
YC.Applicationservice , que implementa o webapi dinâmico por padrão. - Camada da entidade:
YC.model Tabelas de dados regulares, entidades, enumerações etc., bem como os métodos básicos exigidos pelo modelo regular. - Camada da API de negócios:
YC.Servicewebapi fornece um projeto de inicialização de serviço de interface externo.
Camadas da estrutura da versão para microsserviço
- Camada de serviço de agregação:
YC.Micro.Aggregateservicewebapi , Múltiplas chamadas de fusão de serviço. - Camada de configuração comum:
YC.Micro.Configuration Camada de configuração comum. - Serviços independentes:
YC.Micro.Xxxwebservice Especifique o Serviço. - Outros: registro, fusão, balanceamento de carga, operação e manutenção de log, centro de autenticação de identidade, contêinerização, etc. Por favor, aguarde.
- Outras combinações: Centro de Configuração, Consumidor, Balanceamento de Carga, Carga de Carrego, Identicação de Autenticação IDS4, Docker de Container.
- Aguarde a operação e a manutenção do log, transações distribuídas, etc.

Camada do módulo (sob demanda)
- Tabela de banco de dados e geração de código Módulo:
YC.codegenerate - Redis Cache Module:
YC.cache.redis - Módulo Webapi dinâmico:
YC.core.dynamicapi - Módulo de log:
YC.log.serial - Serviço de tempo quartz.net
YC.quartzservice - Módulo MongoDB
YC.mongodb - Figura Banco de dados neo4j
YC.neo4j -big suite de dados elasticsearch YC.elasticsearch
Teste de unidade
Teste de unidade: Tabela de banco de dados unittestproject e teste de geração de código:
-
yc.codegeneratetest Testes de unidade para outros módulos: -
YC.Quartztest -
YC.Mongodbxunittest -
YC.Neo4jxunittest -
YC.Elasticsearchxunittest
Módulo de função da estrutura

Propriedades da estrutura
- Com base no mais recente. NET TECNOLOGIA NET 5.0.
- Implementar design orientado por domínio (entidade, armazém, serviço de domínio, evento de domínio, serviço de aplicativo, objeto de transmissão de dados, unidade de trabalho etc.).
- Implementar arquitetura em camadas (camada de domínio, camada de aplicação, camada de apresentação e camada de infraestrutura).
- Forneça uma infraestrutura para desenvolver módulos reutilizáveis e configuráveis.
- Integre algumas das estruturas / bibliotecas de código aberto mais populares, talvez algumas das quais você está usando.
- Uma infraestrutura é fornecida para facilitar o uso da injeção de dependência (usando o Autofac como contêiner para injeção de dependência).
- Forneça o modo de armazenamento do repositório para suportar diferentes ORM (Dapper Framework, FreesqlFramework, Redis, etc.).
- Suporte e implemente a migração do banco de dados (usando a tabela de mapeamento gratuita).
- Desenvolvimento modular (cada módulo possui seu próprio, que adota a forma de injeção do módulo Autofac e pode alternar dinamicamente o banco de dados especificado de acordo com diferentes serviços).
- Manuseio de exceção unificada (a camada de aplicativo dificilmente precisa escrever seu próprio código de manuseio de exceções).
- Crie automaticamente a camada de API da Web através dos Serviços de Aplicativo (não há necessidade de escrever a camada Apicontroller).
- O fornecimento de classes base e aulas de ajuda nos permite implementar facilmente algumas tarefas comuns.
- Use "Contrato sobre o princípio da configuração".
- Realize multi -inquilino e divida o servidor de acordo com diferentes inquilinos.
- O código de processo completo correspondente é gerado com base no modelo de tabela, incluindo modelo, DTO, serviço, interface de exibição front-end (funções convencionais de CRUD e árvore), regras de roteamento, modelo de mapeador e mapeamento DTO.
- A estrutura realizou funções básicas convencionais, como gerenciamento de usuário e função de autenticação, configuração do sistema, gerenciamento de acesso (nível do sistema, nível de inquilino, nível do usuário, gerenciamento automático de escopo), log de auditoria (gravando automaticamente os chamadores e parâmetros de cada interface), organização etc., para realizar o uso da caixa.
- A estrutura usa o Redis como armazenamento de cache e sessão, que é separado dos cookies para resolver problemas não da Web. A estrutura também pode ser usada para transformar vários requisitos de cena.
Apoio à recompensa


| Doador | Valor da doação (¥) |
|---|
| 小蚂蚁 | 66.66 |
| 张三家的猫 | 100 |
| 刘茜 | 99 |
| AK11 | 8.8 |
| 弗拉门 | 200 |
Contribuição de participação
- Armazém de garfo
- Novo feat_ xxx ramo
- Código de envio
- Crie uma nova solicitação de tração