私がフレームワークを作るときの無意識に採用している指針を思いつきで羅列して改めて意識してみる試み。
・めんどくさい事や、高度なことは全てフレームワーク側の責務。
・ユーザ(ここで言うユーザとはフレームワークを利用して開発をする人)は決められたストーリーに沿ったコードを書けばよい。
・だからユーザにオブジェクト指向を意識させない。
・ユーザから見たインタフェースはシンプルでなくてはいけない。
・一言で言えばテンプレートベースの開発。
・○○対策等(SQL挿入等)は可能な限りフレームワーク側で処理を行う。ユーザに、そのためだけのコードを書かせない。
・インテリセンスを有効活用できるようにする。
・コードを書かなくても良いが、書くことも可能である。
・拡張可能である。
・ユーザはSQLを書かなくてよい。書けば拡張できる。
・ユーザはDB製品を意識しなくてもよい。
・複雑さを集中させないための制限を作る。
(例えばコードの中に複数のテーブルを結合するようなクエリはかけない。
そんなのは、問い合わせの目的を名前にしたビューやストアドにすればよいだけだから。)
・フレームワークにする意味がなくなるので、出来るだけルール等の運用に逃げない。