What's the problem with views?
I rarely see people using views at all, let alone using them as a test aid (composing big queries from smaller more easily tested views), or using them to define interfaces to an internal data model.
See: INSTEAD OF triggers.
That is unless you're using MySQL/MariaDB, in which case views are the least of your worries.