KhrystynaPopadyuk commented on PR #1940:
URL: https://github.com/apache/avro/pull/1940#issuecomment-1340081730

   Hi @KalleOlaviNiemitalo ,
   
   Thank you for review.
   
   The main goal of this PR is add interfaces to be able inject custom 
implementation (including breaking changes) and fix bugs quickly.
   For example:
   - ClassCache at this moment is used to: cache objects, parse types, 
instantiate objects... Serializer and deserializer do not use most of behavior. 
Having interface I would be able write own implementation. I would be able use 
IMemoryChace for caching and have separate service to parse types where I would 
be able fix bugs much quicker. Also I would be able to update converters part 
to use DI instead of add them to static list. A lot of other updates would be 
able to introduce without breaking/any changes to existing Apache.Avro package. 
Adding this interface open way to add new nuget package for .NET Core that use 
current Apache.Avro for main functionality but also add usage of DI, ILogger, 
IMemorryCache and other features that Microsoft offer for developers.
   - DotnetClass has only one constructor that require ClassCache  as argument. 
But does it really need ClassCache  or just converters? Also it have hard-coded 
login about how parse and create properties. Having/using interface I would be 
able have own implementation with custom login. As example use DI to get 
registered converters, skip properties by criteria....
   - DotnetProperty probably the most obvious. There is 
https://github.com/apache/avro/pull/1718 that was merged 9 of August 2022 it 
was almost 4 months ago. And till now it is not released and there is no 
scheduled time for release. It is critical changes for my company. Having 
interface I would be able write custom implementation and deploy fix to prod in 
August.
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to