diff --git a/docs/cs/Autofac-Integration.md b/docs/cs/Autofac-Integration.md new file mode 100644 index 0000000000..109dca6286 --- /dev/null +++ b/docs/cs/Autofac-Integration.md @@ -0,0 +1,84 @@ +# Autofac integrace + +Autofac je jedním z nejpoužívanějších frameworků pro .Net pro vkládání závislostí (DI). Poskytuje pokročilejší funkce v porovnáním se standardní .Net Core DI knihovnou, jako dynamickou proxy a injekci vlastností. + +## Instalace Autofac integrace + +> Všechny startovací šablony a vzorky jsou s Autofac již integrovány. Takže většinou nemusíte tento balíček instalovat ručně. + +Nainstalujte do vašeho projektu balíček [Volo.Abp.Autofac](https://www.nuget.org/packages/Volo.Abp.Autofac) (pro víceprojektovou aplikaci se doporučuje přidat do spustitelného/webového projektu.) + +```` +Install-Package Volo.Abp.Autofac +```` + +Poté přídejte k vašemu modulu závislost na `AbpAutofacModule`: + +```csharp +using Volo.Abp.Modularity; +using Volo.Abp.Autofac; + +namespace MyCompany.MyProject +{ + [DependsOn(typeof(AbpAutofacModule))] + public class MyModule : AbpModule + { + //... + } +} +``` + +Nakonec nastavte `AbpApplicationCreationOptions` aby nahradil výchozí služby pro vkládání závislostí na Autofac. Záleží na typu aplikace. + +### ASP.NET Core aplikace + +Volejte `UseAutofac()` v souboru **Startup.cs** jako je ukázáno níže: + +````csharp +public class Startup +{ + public IServiceProvider ConfigureServices(IServiceCollection services) + { + services.AddApplication(options => + { + //Integrace Autofac! + options.UseAutofac(); + }); + + return services.BuildServiceProviderFromFactory(); + } + + public void Configure(IApplicationBuilder app) + { + app.InitializeApplication(); + } +} +```` + +### Konzolová aplikace + +Volejte metodu `UseAutofac()` v možnostech `AbpApplicationFactory.Create` jako je ukázáno níže: + +````csharp +using System; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp; + +namespace AbpConsoleDemo +{ + class Program + { + static void Main(string[] args) + { + using (var application = AbpApplicationFactory.Create(options => + { + options.UseAutofac(); //Autofac integrace + })) + { + //... + } + } + } +} +```` + diff --git a/docs/cs/CLI.md b/docs/cs/CLI.md new file mode 100644 index 0000000000..f3f2d21a96 --- /dev/null +++ b/docs/cs/CLI.md @@ -0,0 +1,137 @@ +# ABP CLI + +ABP CLI (Command Line Interface) je nástroj v příkazovém řádku k provádění některých běžných úkonů v řešeních založených na ABP. + +## Instalace + +ABP CLI je [dotnet global tool](https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools). Nainstalujete jej pomocí okna příkazového řádku: + +````bash +dotnet tool install -g Volo.Abp.Cli +```` + +Aktualizace stávající instalace: + +````bash +dotnet tool update -g Volo.Abp.Cli +```` + +## Příkazy + +### new + +Vygeneruje nové řešení založené na ABP [startovací šabloně](Startup-Templates/Index.md). + +Základní použití: + +````bash +abp new [možnosti] +```` + +Příklad: + +````bash +abp new Acme.BookStore +```` + +* Acme.BookStore je tady název řešení. +* Běžná konvence je nazvat řešení stylem *VaseSpolecnost.VasProjekt*. Nicméně můžete použít i jiné pojmenování jako *VasProjekt* (jednostupňový jmenný prostor) nebo *VaseSpolecnost.VasProjekt.VasModul* (třístupňový jmenný prostor). + +#### Možnosti + +* `--template` nebo `-t`: Určuje název šablony. Výchozí šablona je `mvc`. Dostupné šablony: + * `mvc` (výchozí): ASP.NET Core [MVC aplikační šablona](Startup-Templates/Mvc.md). Dodatečné možnosti: + * `--database-provider` nebo `-d`: Určuje poskytovatele databáze. Vychozí poskytovatel je `ef`. Dostupní poskytovatelé: + * `ef`: Entity Framework Core. + * `mongodb`: MongoDB. + * `--tiered`: Vytvoří stupňovité řešení, kde jsou vrstvy Web a Http API fyzicky odděleny. Pokud není uvedeno tak vytvoří vrstvené řešení, které je méně složité a vhodné pro většinu scénářů. + * `mvc-module`: ASP.NET Core [MVC modulová šablona](Startup-Templates/Mvc-Module.md). Dodatečné možnosti: + * `--no-ui`: Určuje, že nebude zahrnuto uživatelské rozhraní. To umožňuje vytvářet moduly pouze pro služby (a.k.a. mikroslužby - bez UI). +* `--output-folder` nebo `-o`: Určuje výstupní složku. Výchozí hodnota je aktuální adresář. + +### add-package + +Přidá nový balíček ABP do projektu pomocí, + +* Přidání souvisejícícho nuget balíčku jako závislost do projektu. +* Přidáním `[DependsOn(...)]` atributu k modulové tříde v projektu (podívejte se na [dokument vývoje modulu](Module-Development-Basics.md)). + +> Všimněte si, že přidaný modul může vyžadovat další konfiguraci, která je obecně uvedena v dokumentaci příslušného balíčku. + +Základní použití: + +````bash +abp add-package [možnosti] +```` + +Příklad: + +```` +abp add-package Volo.Abp.MongoDB +```` + +* Tento příklad přidá do projektu balíček Volo.Abp.MongoDB. + +#### Možnosti + +* `--project` nebo `-p`: Určuje cestu k projektu (.csproj). Pokud není zadáno, CLI se pokusí najít soubor .csproj v aktuálním adresáři. + +### add-module + +Přidá více-balíčkový modul k řešení tím, že najde všechny balíčky modulu, vyhledá související projekty v řešení a přidá každý balíček do odpovídajícího projektu v řešení. + +> Modul se obecně skládá z několika balíčků (z důvodu vrstvení, různých možností poskytovatele databáze nebo jiných důvodů). Použití příkazu `add-module` dramaticky zjednodušuje přidání modulu do řešení. Každý modul však může vyžadovat další konfiguraci, která je obecně uvedena v dokumentaci příslušného modulu. + +Základní použití: + +````bash +abp add-module [možnosti] +```` + +Příklad: + +```bash +abp add-module Volo.Blogging +``` + +* Tento příklad přidá do projektu modul Volo.Blogging. + +#### Možnosti + +* `--solution` nebo `-s`: Určuje cestu k řešení (.sln). Pokud není zadáno, CLI se pokusí najít soubor .sln v aktuálním adresáři. +* `--skip-db-migrations`: Pro poskytovatele databáze EF Core automaticky přidá nový kód první migrace (`Add-Migration`) a v případě potřeby aktualizuje databázi (`Update-Database`). Tuto možnost určete k vynechání této operace. + +### update + +Aktualizace všech balíčků souvisejících s ABP může být únavná, protože existuje mnoho balíčků frameworku a modulů. Tento příkaz automaticky aktualizuje na poslední verze všechny související ABP NuGet a NPM balíčky v řešení nebo projektu. + +Použití: + +````bash +abp update [možnosti] +```` + +* Pokud spouštíte v adresáři se souborem .sln, aktualizuje všechny balíčky všech projektů v řešení souvisejících s ABP na nejnovější verze. +* Pokud spouštíte v adresáři se souborem .csproj, aktualizuje všechny balíčky v projektu na nejnovější verze. + +#### Možnosti + +* `--include-previews` nebo `-p`: Zahrne náhledové, beta a rc balíčky při kontrole nových verzí. + +### help + +Vypíše základní informace k používání CLI. + +Použítí: + +````bash +abp help [název-příkazu] +```` + +Příklady: + +````bash +abp help # Zobrazí obecnou nápovědu. +abp help new # Zobrazí nápovědu k příkazu "new". +```` + diff --git a/docs/cs/Domain-Driven-Design.md b/docs/cs/Domain-Driven-Design.md new file mode 100644 index 0000000000..161e92c8a2 --- /dev/null +++ b/docs/cs/Domain-Driven-Design.md @@ -0,0 +1,33 @@ +# Domain Driven Design + +## Co je DDD? + +ABP framework poskytuje **infrastrukturu**, která zjednodušuje implementaci vývoje založeného na **DDD**. DDD je [definován ve Wikipedii](https://en.wikipedia.org/wiki/Domain-driven_design) takto: + +> **Domain-driven design** (**DDD**) je přístup k vývoji softwaru pro komplexní potřeby propojením implementace s vyvíjejícím se modelem. Předpoklad DDD je následující: +> +> - Primární zaměření projektu je na jádře domény a doménové logice; +> - Zakládání komplexních návrhů na modelu domény; +> - Iniciování tvůrčí spolupráce mezi technickými a doménovými odborníky s cílem iterativně zdokonalit koncepční model, který řeší konkrétní problémy v doméně. + +### Vrstvy + +ABP dodržuje principy a vzorce DDD pro dosažení vrstveného aplikačního modelu, který se skládá ze čtyř základních vrstev: + +- **Prezentační vrstva**: Poskytuje uživateli rozhraní. Používá *Aplikační vrstvu* k dosažení uživatelských interakcí. +- **Aplikační vrstva**: Prostředník mezi prezentační a doménovou vrstvou. Instrumentuje business objekty k provádění specifických úloh aplikace. Implementuje případy použití jako logiku aplikace. +- **Doménová vrstva**: Zahrnuje business objekty a jejich business pravidla. Je jádrem aplikace. +- **Vrstva infrastruktury**: Poskytuje obecné technické možnosti, které podporují vyšší vrstvy většinou pomocí knihoven třetích stran. + +## Obsah + +* **Doménová vrstva** + * [Entity & agregované kořeny](Entities.md) + * Hodnotové objekty + * [Repozitáře](Repositories.md) + * Doménové služby + * Specifikace +* **Aplikační vrstva** + * [Aplikační služby](Application-Services.md) + * [Objekty přenosu dat (DTOs)](Data-Transfer-Objects.md) + * Jednotka práce \ No newline at end of file diff --git a/docs/cs/Nightly-Builds.md b/docs/cs/Nightly-Builds.md new file mode 100644 index 0000000000..e69588f5ff --- /dev/null +++ b/docs/cs/Nightly-Builds.md @@ -0,0 +1,26 @@ +# Noční sestavení + +Všechny balíky frameworku a modulů jsou každý večer nasazeny na MyGet. Takže můžete používat nebo testovat nejnovější kód bez čekání na další vydání. + +## Konfigurace Visual Studia + +> Vyžaduje Visual Studio 2017+ + +1. Přejděte do `Tools > Options > NuGet Package Manager > Package Source`. +2. Klikněte na zelenou ikonku `+`. +3. Nastavte `ABP Nightly` jako *Name* a `https://www.myget.org/F/abp-nightly/api/v3/index.json` jako *Source* podle vyobrazení níže: + ![night-build-add-nuget-source](images/night-build-add-nuget-source.png) +4. Klikněte na `Update`. +5. Klikněte na `OK` k uložení změn. + +## Instalace balíku + +Nyní můžete instalovat náhledové / noční balíky do Vašeho projektu z NuGet prohlížeče nebo Package Manager Console. + +![night-build-add-nuget-package](images/night-build-add-nuget-package.png) + +1. V nuget prohlížeči, vyberte "Include prereleases". +2. Změňte zdroj balíků na "All". +3. Vyhledejte balík. Uvidíte prerelease balík formátovaný jako `(VERZE)-preview(DATUM)` (např *v0.16.0-preview20190401* jako v tomto vzorku). +4. Můžete kliknout na `Install` k přídání balíku do projektu. +