クラス分けは関数を決めた後がいい場合もある 設計はトップダウンで進めるから、 大きい方であるクラスをどう分けるかを考えて、 次に小さい方である関数のインタフェースを決める、 という流れでやるべきだと思い込んでいたのだけど、 実際は逆の場合もあるんじゃないかという話。 どっかのWebAPIから何か取ってきて、 それをXMLだとしてパーズして、 キー名を変えたり不要な要素を取り除いたりして、 最後に配列が欲しい、というようなことを考えます。 これをクラスから先に考えると 「WebAPIにアクセスするクラス」というようなものが抽象的に浮んでくるのですが、 そこから先に進めません。 エイヤで始めてしまって、あとで直したり、直しきれなかったりします。 そこで発想を逆転させて、まずそれぞれの機能を関数として考えます。 $hoge->connect($url) ->fetch() ->parseAsXm