I am sorry, but do you understand that refactoring is not supposed to change architecture of an app? At least I call it re-work / re-write / re-fit. It usually insane amount of work for mid-sized codebase.
If architecture doesn't fit and it is too expensive to change it, I would discard it. No hard feelings.
It is not a question of "like" or "not like". Are we professionals or what? If framework doesn't fit - replace it. Customers doesn't care what exactly are you using.
You cannot easily do it. Architecture is too big of change that also invalidates good percent of your test base (integration, system, etc). I am not sure if we are on the same page or not, but I treat architecture as fundamental decisions written in code which defines core properties of a given system. You can change it, but certainly NOT during refactoring. Mostly due to addiction of new properties and removal of others. Switching stacks from java to serverless lamda javascript is an example of architectural decision. Show me code transformation steps from one to another.
Another example is switching MVC to messaging.
Design is more flexible in that sense. Please don't mix system architecture and system design.
If you have tests, you are the king. But I would expect any good mature framework to have more stability than your codebase, btw I have seen your acceptance test.
Don't put me in single camp ;) I am not a framework evangelist nor a binary simpleton.
I am sorry, but do you understand that refactoring is not supposed to change architecture of an app? At least I call it re-work / re-write / re-fit. It usually insane amount of work for mid-sized codebase.
If architecture doesn't fit and it is too expensive to change it, I would discard it. No hard feelings.
It is not a question of "like" or "not like". Are we professionals or what? If framework doesn't fit - replace it. Customers doesn't care what exactly are you using.
Says who? Refactoring is about re-expressing code without changing behaviour. That's all it is
You only believe this because you are indoctrinated in framework-land where everything feels big and enterprise I suspect.
If you have sufficient tooling and tests you can easily rearchitect how a system is done in a codebase that has no frameworks. Source: Me.
o_O
Design != architecture
Also, refactoring supposed to improve one and only one quality only - maintainability.
Please continue reading and understanding Martin Fowler. I would also recommend to check out Uncle Bob's thoughts on it.
You cannot easily do it. Architecture is too big of change that also invalidates good percent of your test base (integration, system, etc). I am not sure if we are on the same page or not, but I treat architecture as fundamental decisions written in code which defines core properties of a given system. You can change it, but certainly NOT during refactoring. Mostly due to addiction of new properties and removal of others. Switching stacks from java to serverless lamda javascript is an example of architectural decision. Show me code transformation steps from one to another.
Another example is switching MVC to messaging.
Design is more flexible in that sense. Please don't mix system architecture and system design.
If you have tests, you are the king. But I would expect any good mature framework to have more stability than your codebase, btw I have seen your acceptance test.
Don't put me in single camp ;) I am not a framework evangelist nor a binary simpleton.
I have now decided that you're trolling me to ensure that I don't get any work done today.
But in case you're not, or anyone wants to take you seriously:
martinfowler.com/bliki/DefinitionO...
and
martinfowler.com/bliki/Refactoring...
If you so like Mr. Fowler, it will be good for anyone to understand his take on architecture:
kylecordes.com/2015/fowler-softwar...