You can try this one; the important code is between \makeatletter and \makeatother
\documentclass{book}
\makeatletter
\renewcommand\listoffigures{%
\chapter*{\listfigurename}%
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\begingroup\let\addvspace\@gobble
\raggedbottom\offinterlineskip\def\l@figure{\xiao@figure}\parindent\z@
\hrule
\vrule\vrule width \z@ height 1.2\ht\strutbox depth 1.2\dp\strutbox
\makebox[\dimexpr3cm-0.8pt\relax][c]{\bfseries Number}\vrule
\parbox{\dimexpr\textwidth-6cm}{\normalbaselines\centering {\large\strut}\bfseries Caption{\large\strut}}\vrule
\makebox[\dimexpr3cm-0.8pt\relax][c]{\bfseries Page}\vrule
\hrule
\@starttoc{lof}%
\endgroup
}
\def\xiao@figure#1#2{\xiao@figurei#1{#2}}
\long\def\xiao@figurei\numberline#1#2#3{%
\vrule\vrule width \z@ height 1.2\ht\strutbox depth 1.2\dp\strutbox
\makebox[\dimexpr3cm-0.8pt\relax][c]{Fig.\ #1}\vrule
\parbox{\dimexpr\textwidth-6cm}{\normalbaselines\centering {\large\strut}#2{\large\strut}}\vrule
\makebox[\dimexpr3cm-0.8pt\relax][c]{#3}\vrule
\hrule
\hskip-.4pt
\hrule
\nobreak
}
\makeatother
\begin{document}
\frontmatter
\listoffigures
\mainmatter
\chapter{A}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\clearpage
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\clearpage
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\clearpage
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\begin{figure}
\caption{Caption which is very
very very very very very very very very
very very very very very very very very
very very very very very very very very
long}
\end{figure}
\begin{figure}
\caption{Caption}
\end{figure}
\end{document}
The compiled example shows also a page break. Here I show only a small part.

Some comments about \xiao@figure and \xiao@figurei.
The entry in the .lof file for the first figure is
\contentsline {figure}{\numberline {1.1}{\ignorespaces Caption}}{1}
and \contentsline{figure} is first translated into \l@figure, according to the definition of \contentsline. Then, becauso of our redefinition of \listoffigures, LaTeX transforms \l@figure into \xiao@figure, so the main input becomes
\xiao@figure{\numberline {1.1}{\ignorespaces Caption}}{1}
The first argument to \xiao@figure is now
\numberline {1.1}{\ignorespaces Caption}
and the second one is 1 (after stripping braces around arguments). Thus the next replacement is
\xiao@figurei\numberline {1.1}{\ignorespaces Caption}{1}
and next the definition of \xiao@figurei is looked at: it has to be followed by \numberline (which is removed) and has three arguments
1.1
\ignorespaces Caption
1
and now the main part of the work can be done, because we have correctly identified the contents of the three table cells.
With hyperref the \contentsline macro has a different definition. Supporting links seems to be quite difficult, unfortunately.
In order to get a successful compilation (without links), you can do as follows:
\documentclass{book}
\let\latexcontentsline\contentsline
\usepackage{hyperref}
\makeatletter
\renewcommand\listoffigures{%
\chapter*{\listfigurename}%
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\begingroup\let\addvspace\@gobble
\raggedbottom\offinterlineskip\def\l@figure{\xiao@figure}\parindent\z@
\let\contentsline\latexcontentsline
\hrule
\vrule\vrule width \z@ height 1.2\ht\strutbox depth 1.2\dp\strutbox
\makebox[\dimexpr3cm-0.8pt\relax][c]{\bfseries Number}\vrule
\parbox{\dimexpr\textwidth-6cm}{\normalbaselines\centering {\large\strut}\bfseries Caption{\large\strut}}\vrule
\makebox[\dimexpr3cm-0.8pt\relax][c]{\bfseries Page}\vrule
\hrule
\@starttoc{lof}%
\endgroup
}
\def\xiao@figure#1{\xiao@figurei#1}
\long\def\xiao@figurei\numberline#1#2#3#4{%
\vrule\vrule width \z@ height 1.2\ht\strutbox depth 1.2\dp\strutbox
\makebox[\dimexpr3cm-0.8pt\relax][c]{Fig.\ #1}\vrule
\parbox{\dimexpr\textwidth-6cm}{\normalbaselines\centering {\large\strut}#2{\large\strut}}\vrule
\makebox[\dimexpr3cm-0.8pt\relax][c]{#3}\vrule
\hrule
\hskip-.4pt
\hrule
\nobreak
}
\makeatother