I stumbled upon a framework promising a powerful and flexible infrastructure, named Kephas, and I am currently evaluating it for an existing application to get it updated to the latest technologies. I just browsed the documentation and the samples and I can see the potential for new applications, but what about existing ones? Is it possible to implement an incremental strategy and not rewrite it from scratch? Does anyone know about it, what was the experience?
1
There are 1 best solutions below
Related Questions in .NET
- file download method in visual studio 2017
- Repository manager receives the wrong connection string in .net core
- MongoDb not connecting C#
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Why Scanning GSI on DynamoDb doesnt work as fast as expected when using CONTAINS?
- Are "blittable types" really unmanaged types for StructLayout Sequential
- Failed to fetch dynamically imported module on Blazor JS Interop
- Problem to upload several images per one request
- Implementing Azure AD B2C Authentication in .NET 8 Blazor Project (RenderMode: InteractiveAuto)
- Stripe connect payout - throws exceptions
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Azure Application Insights Not Displaying Custom Logs for Azure Functions with .NET 8
- Convert C# DateTime.Ticks to Bigquery DateTime Format
- Socket.io nodejs server .NET connection
- Producer Batching Service Bus Vs Kafka
Related Questions in FRAMEWORKS
- Symfony Framework - Route cannot be found even if it is defined in Controller
- How to use a custom js framework to build Vite App?
- I'm having issues in setting up my laravel project
- How to pass the result of a computed property to another component in Vue
- Own Pattern / framework for interfacing with components in C
- SwiftUI App only install framework(SwiftUI) not it's dependency(SDK.framework)
- Cannot find protocol declaration for 'TransactionHandlerDelegate'" (Swift/MAUI Interop)
- MicroiFramework Slim / ORM Doctrine - Some classes are missing in the vendor folder,
- When calling another method of controller where injected custom request class. it is showing error Call to a member function validated() on null
- While installing ruby in windows i am getting this error ERROR: Failed to build gem native extension and yaml.h not found
- Strapi 4 + Nuxt 3 Auth Problems
- cant start bundle on apache felix
- Java OSGi implementation for the project
- A framework, error show: Undefined symbols and Linker command failed with exit code 1 (use -v to see invocation)
- Is it allowed in iOS - Swift Dynamic Framework - Contains Multiple Static Library
Related Questions in KEPHAS
- I have to integrate ServiceStack together with Kephas. How do I make them both play together with Dependency Injection?
- How does Kephas integrate with ASP.NET Core?
- Cannot use constructors in open generic services with Kephas
- What is PreserveThreadContext() when calling async functions in Kephas?
- How is the DI relative to constructor and/or property injection solved in Kephas?
- Is Kephas.Data some kind of ORM?
- What is the difference between AmbientServices and CompositionContext in Kephas?
- The Kephas.Model package seems a bit heavy weight for my requirements of extensible metadata. Is there a lighter alternative?
- How can I register services in Kephas using a fluent API?
- Is there a possibility to specify a service metadata attribute to be applied to all services in Kephas?
- Is there a possibility to control the Expando class to not allow adding properties/members under certain conditions?
- How can I integrate my current logging infrastructure with Kephas?
- Am I forced into using the attributed service registration in Kephas?
- Kephas has its own dependecy injection container. Why another framework, why not use an existing one?
- How to provide a different strategy for loading application assemblies in Kephas bootstrapper
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Sure it can be done incrementally, provided the application uses the .NET framework with a version higher than 4.5 (as a matter of fact .NET Core/.NET Standard and Mono are also supported). In fact, there are organizations using it for production which integrated it step by step. There are also architectural issues which need to be considered thoughtfully, like the integration of a DI framework or a data persistence layer, but basically the incremental adoption should not pose any serious problems.
Do not forget that central to Kephas Framework are the application services available through dependency injection. Use the ones provided by default, or override them, just by the means of a mere attribute. You can follow more approaches:
Have the original application's DI container live side by side with the one provided by Kephas (by the way, it is only an abstraction over existing DIs, we didn't want to reinvent the wheel). Not very recommended, but it works if you want to have it that way.
Have the original application's DI container integrate the one from Kephas. I personally used this strategy when working with ServiceStack's Funq DI container and it worked. However, this way the original application has access to Kephas services, but not the way round. I would use this approach if you need to let the original application be in control.
Have Kephas integrate the application's DI container. This way Kephas services have access to the original application's services, but not the way round. I would use this approach if you want to walk the Kephas way completely, now or in the future.
Use the DI containers provided by Kephas entirely. I would go this way if you don't use DI at all or have a compatible DI container (like MEF/System.Composition or Autofac - for Autofac there is no built-in support but it shouldn't be that hard to implement it).
There are a lot of things to discuss, but this would go beyond the scope of this question.
Disclaimer: I am the lead developer behind the Kephas Framework - more information can be obtained from the Wiki page. Check also the samples here.