Again, it’s not as black and white as you think.
Not everything is perfect, nothing is, and nothing ever will be.
Yes, Shiro APIs are a bit old-fashioned, but they work perfectly, understandable
and productive.

Trust me, as you rework your problems “in terms of Shiro design” your desire 
for casts will largely disappear.
I believe you are trying to use objects in your code that you are mostly do not 
need to.

> On Nov 8, 2020, at 4:24 AM, Alex Orlov <[email protected]> wrote:
> 
> Hi Andreas,
>  
> I am just a Shiro user and this is Shiro user mailing list. I fulfilled my 
> duties — opened an issue and gave explanations.
> I develop my projects, Shiro developers develop Shiro. I just can’t develop 
> any library I use in my projects ( > 30) — because
> to do it I must give up my projects.
>  
> The idea of my message wasn’t "Change the API because anyway you have nothing 
> to do". The idea of my message
> was — "Don’t call a wrong thing a right thing".
>  
>  
> --
> Best regards, Alex Orlov
>  
>  
> Воскресенье, 8 ноября 2020, 12:54 +03:00 от Andreas Reichel 
> <[email protected]>:
>  
> Dear Alex.
>  
>  
> On Sun, 2020-11-08 at 12:47 +0300, Alex Orlov wrote:
>> So, when you do FooImpl impl = (FooImpl) foo; it means that either you are 
>> doing something wrong,
>> or API is not flexible enough.
> 
>  
> Sometimes it may mean: it works perfectly fine as it is and the people have 
> more relevant stuff to do.
> Look at Hurd: perfect in theory, unusable in practise. Look at the Linux 
> kernel. Far away from being perfect or clean, but runs impressively well and 
> reliable.
>  
> That said: your best argument might be a pull request, which demonstrates the 
> improvement you have in mind. I am sure, the Shiro developpers would merge it 
> when the advantage of the refactoring is obvious.
>  
> Best regards
> Andreas
>  

Reply via email to