Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dentrax/easyproviders
An EASY and ADVANCED way to handle providers/services/managers/singletons systems with [EasyProvides .NET CORE Library]
https://github.com/dentrax/easyproviders
initializer provider provider-engine singleton
Last synced: 4 days ago
JSON representation
An EASY and ADVANCED way to handle providers/services/managers/singletons systems with [EasyProvides .NET CORE Library]
- Host: GitHub
- URL: https://github.com/dentrax/easyproviders
- Owner: Dentrax
- Created: 2017-08-22T15:07:22.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-08-24T12:27:36.000Z (over 7 years ago)
- Last Synced: 2024-11-09T03:52:30.424Z (about 2 months ago)
- Topics: initializer, provider, provider-engine, singleton
- Language: C#
- Homepage:
- Size: 92.8 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
EasyProviders Public Source Repository
**Provider initializer clean-template-library for Softwares**
This library was created from cropped source-code template from original source. Some code sections are left to be an example. :)
[What It Is](#what-it-is)
[How To Use](#how-to-use)
[About](#about)
[Collaborators](#collaborators)
[Branches](#branches)
[Copyright & Licensing](#copyright--licensing)
[Contributing](#contributing)
[Contact](#contact)
## What It Is
**EasyProviders**
EasyProviders is an advanced provider/service control singleton-instanced library.
**Uses : `.NET CORE 1.1 Class Library`**
Controls and wizards are available for users to:
> * Create as easy as possible custom provider service
> * Control all providers/services with a single line of code.
> * Boot/Shutdown your providers, analyze with StopWatch easily.
> * Provide to great, compact, collective, regular manager-accessing in large projects & games etc...## How To Use
Example Usage
=============![Preview Thumbnail](https://raw.githubusercontent.com/Dentrax/EasyProviders/master/EasyProviders/Thumbnail.png)
Using Namespace
--------------------------
```csharp
using EasyProviders.Services;
using EasyProviders.Services.Accessibility;
using EasyProviders.Services.Advertising;
using EasyProviders.Services.Analytics;
using EasyProviders.Services.Audio;
using EasyProviders.Services.Globalization;
using EasyProviders.Services.Holiday;
using EasyProviders.Services.Internationalization;
using EasyProviders.Services.IO;
using EasyProviders.Services.Multilingualization;
using EasyProviders.Services.Personalization;
using EasyProviders.Services.Social;
using EasyProviders.Services.Storage;
using EasyProviders.Services.Store;
using EasyProviders.Services.Achievement;
using EasyProviders.Services.Localization;
using EasyProviders.Services.Notification;
```Create GameServices Constructor
--------------------------
```csharp
GameServices SDK = new GameServices();
```Create GameServices Initializer Dictionary
--------------------------
```csharp
Dictionary initDic = new Dictionary();
```Insert Providers to GameServices Dictionary
--------------------------
```csharp
initDic.Add(ProviderType.Accessibility, new AccessibilityProvider.InitializeContext());
initDic.Add(ProviderType.Achievement, new AchievementProvider.InitializeContext());
initDic.Add(ProviderType.Advertising, new AdvertisingProvider.InitializeContext());
initDic.Add(ProviderType.Analytics, new AnalyticsProvider.InitializeContext());
initDic.Add(ProviderType.Audio, new AudioProvider.InitializeContext());
initDic.Add(ProviderType.Globalization, new GlobalizationProvider.InitializeContext());
initDic.Add(ProviderType.Holiday, new HolidayProvider.InitializeContext());
initDic.Add(ProviderType.Internationalization, new InternationalizationProvider.InitializeContext());
initDic.Add(ProviderType.IO, new IOProvider.InitializeContext());
initDic.Add(ProviderType.Localization, new LocalizationProvider.InitializeContext());
initDic.Add(ProviderType.Multilingualization, new MultilingualizationProvider.InitializeContext());
initDic.Add(ProviderType.Notification, new NotificationProvider.InitializeContext());
initDic.Add(ProviderType.Personalization, new PersonalizationProvider.InitializeContext());
initDic.Add(ProviderType.Social, new SocialProvider.InitializeContext());
initDic.Add(ProviderType.Storage, new StorageProvider.InitializeContext());
initDic.Add(ProviderType.Store, new StoreProvider.InitializeContext());
```Set Optional Functions
--------------------------
```csharp
SDK.SetSafeMode(false);
SDK.SetDebugMode(false);
```| Variable | Type |
| --------------- |:--------------------:|
| `IsDebugMode` | public **(readonly)**|
| `IsSafeMode` | public **(readonly)**|Initializing Providers (Call void Initialize() from all provides)
--------------------------
```csharp
SDK.Initialize(initDic);
```Booting Providers (Call void Start() from all provides)
--------------------------
```csharp
SDK.Boot(delegate (bool success) {
if (success) {
//OnSuccess
} else {
//OnFailed
}
});
```Shutting-down Providers (Call void Stop() from all provides)
--------------------------
```csharp
SDK.Shutdown(delegate (bool success) {
if (success) {
//OnSuccess
} else {
//OnFailed
}
});
```## About
EasyProviders was created to serve three purposes:
**EasyProviders is a advanced providers/services/managers/singleton controller**
1. To act as a library to control providers/services/managers.
2. To provide a strong debugging, life-saver and advanced library for any bigger software & game project that requires a singleton/manager system architecture.
3. Instead of writing long and complex code every time, it provides the easiest and strongest way.
## Collaborators
**Project Manager** - Furkan Türkal (GitHub: dentrax)
## Branches
We publish source for the **[EasyProviders]** in three rolling branches:
We publish source for the engine in three rolling branches:
> The **[release branch](https://github.com/dentrax/EasyProviders/tree/release)** is extensively tested by our QA team and makes a great starting point for learning the EasyProviders.
> The **[promoted branch](https://github.com/dentrax/EasyProviders/tree/promoted)** is updated with builds for our team members to use. It's a good balance between getting the latest cool stuff and knowing most things work.
> The **[master branch](https://github.com/dentrax/EasyProviders/tree/master)** tracks [live changes](https://github.com/dentrax/EasyProviders/commits/master) by our EasyProviders team.
This is the cutting edge and may be buggy - it may not even compile.Other short-lived branches may pop-up from time to time as we stabilize new releases or hotfixes.
## Copyright & Licensing
The base project code is copyrighted by Furkan 'Dentrax' Türkal and is covered by single licence.All program code (i.e. C#, Java) is licensed under GPL v3.0 unless otherwise specified. Please see the "LICENSE" file for more information.
## Contributing
Please check the [CONTRIBUTING.md](CONTRIBUTING.md) file for contribution instructions and naming guidelines.
## Contact
EasyProviders was created by Furkan 'Dentrax' Türkal
*
You can contact EasyProviders by URL:
**[CONTACT](https://github.com/dentrax)**Best Regards