Both work. It all depends on what you are trying to do and what resources you have. If you building your own system for learning, you won't be expanding the system, and you only have standard decoders, it's fine to partially decode. It's not as if the memory will suffer if you don't fully decode. But some address ranges will be aliases of others.