I typically end off design my software architecture as follows, which is a dead end.
import ExtraWorld,SuperWorld;
class World{
constructor(){
let a = new ExtraWorld()
let b = new SuperWorld()
}
}
----
class SuperWorld extends World{
}
class ExtraWorld extends World{
}
More reallife example
class BasicBlock{
// Basic block can internally contain ifblock, forblock
}
class IfBlock extends BasicBlock{
}
class ForBlock extends BasicBlock{
}
How I can redesign the architecture and rename so that it makes much sense