WEBアプリのページネーションについて

ページングが発生するWebページについて<<最初へ <前へ 次へ> 最後へ>>

というタイプがある。これは任意のページにジャンプできないというデメリットがある。

あとGoogleみたいに< 1 2 3 4 5 6 7 8 9 10 >

というタイプもある。これは後ろのほうは精度も低いしこれでもよいだろう。

ほかに

1 2 3 ... 9 10 11 ... 22 23 24

みたいなパターンもある。
これは後ろのほうのページにたどり着く手段をあたえつつも、自ページ付近や最初に戻ることもできるようにしているのでいいかんじだ。上の場合だと、1から24を横にずらっとならべるとものすごくスペースを食うので ... で間を省略しているということになる。

で、この ... を出す法則ってどうなってるんだろう? パターンがあるのかな?