For hatching, I didn't use patterns as it is hard to customize. In this attempt, I used:
- rotated grid to create the hatching (you can play on the distance between parallel lines by changing the
ystep parameter)
\clip to specify the filling area
Here is the corresponding code:
\documentclass[12pt,a4paper,openany]{book}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{amsmath,amssymb,amsthm}
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,x=1cm,y=1cm]
\begin{axis}[unbounded coords=jump,
x=1cm,y=1cm,
axis lines=middle,
xmin=-8,
xmax=8,
ymin=-5,
ymax=5,
ytick=\empty,
xtick=\empty,
axis on top]
% A3 hatch
\begin{scope}
\clip plot[samples=51,domain=-8:-0.1] (\x, {1/\x}) -| (-8,-1/8) --cycle;
\draw[blue!20,xstep=0cm,ystep=0.5cm,rotate=45] (-15,-15) grid (15,15);
\end{scope}
% A1 hatch
\begin{scope}
\clip plot[samples=51,domain=0.1:8] (\x, {1/\x}) |- (0.1,1/0.1) --cycle;
\draw[blue!20,xstep=0cm,ystep=0.5cm,rotate=45] (-15,-15) grid (15,15);
\end{scope}
% A4 hatch
\begin{scope}
\clip plot[samples=51,domain=-8:-0.1] (\x, {-1/\x}) -| (-8,1/8) --cycle;
\draw[red!20,xstep=0cm,ystep=0.5cm,rotate=-45] (-25,-25) grid (15,15);
\end{scope}
% A2 hatch
\begin{scope}
\clip plot[samples=51,domain=0.1:8] (\x, {-1/\x}) |- (0.1,-1/0.1) --cycle;
\draw[red!20,xstep=0cm,ystep=0.5cm,rotate=-45] (-25,-25) grid (15,15);
\end{scope}
% Fill between
\begin{scope}
\fill[yellow!10,opacity=] plot[samples=51,domain=0.1:8] (\x, {-1/\x}) -- plot[samples=51,domain=8:0.1] (\x, {1/\x}) -- plot[samples=51,domain=-0.1:-8] (\x, {-1/\x}) -- plot[samples=51,domain=-8:-0.1] (\x, {1/\x}) -- cycle ;
\end{scope}
% Your code (I removed path names)
\addplot[line width=2pt,color=blue,smooth,samples=51,domain=-8:-0.1] {(1/x)};
\addplot[line width=2pt,color=blue,smooth,samples=51,domain=-8:-0.1] {(1/x)} node[pos=0.1,below=40mm]{$(A_3)$}node[pos=0.1,below=20mm,right=40mm]{$(\mathcal{C}_1)$};
\addplot[line width=2pt,color=blue,smooth,samples=51,domain=0.1:8] {(1/x)} node[pos=0.95,above=20mm]{$(A_1)$}node[pos=0.95,above=20mm,left=50mm]{$(\mathcal{C}_1)$};
\addplot[line width=2pt,color=red,smooth,samples=51,domain=0.1:8] {-(1/x)} node[pos=0.95,below=40mm]{$(A_4)$}node[pos=0.95,below=20mm,left=50mm]{$(\mathcal{C}_2) $};
\addplot[line width=2pt,color=red,smooth,samples=51,domain=-8:-0.1] {-(1/x)} node[pos=0.1,above=30mm]{$(A_4)$}node[pos=0.1,above=20mm,right=40mm]{$(\mathcal{C}_2) $};
\end{axis}
\end{tikzpicture}
\end{document}
yields:

For hatching the middle region, here is the corresponding code:
\documentclass[12pt,a4paper,openany]{book}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{amsmath,amssymb,amsthm}
%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,x=1cm,y=1cm]
\begin{axis}[unbounded coords=jump,
x=1cm,y=1cm,
axis lines=middle,
xmin=-8,
xmax=8,
ymin=-5,
ymax=5,
ytick=\empty,
xtick=\empty,
axis on top]
% A3 hatch
\begin{scope}
\clip plot[samples=51,domain=-8:-0.1] (\x, {1/\x}) -| (-8,-1/8) --cycle;
\draw[blue!20,xstep=0cm,ystep=0.5cm,rotate=45] (-15,-15) grid (15,15);
\end{scope}
% A1 hatch
\begin{scope}
\clip plot[samples=51,domain=0.1:8] (\x, {1/\x}) |- (0.1,1/0.1) --cycle;
\draw[blue!20,xstep=0cm,ystep=0.5cm,rotate=45] (-15,-15) grid (15,15);
\end{scope}
% A4 hatch
\begin{scope}
\clip plot[samples=51,domain=-8:-0.1] (\x, {-1/\x}) -| (-8,1/8) --cycle;
\draw[red!20,xstep=0cm,ystep=0.5cm,rotate=-45] (-25,-25) grid (15,15);
\end{scope}
% A2 hatch
\begin{scope}
\clip plot[samples=51,domain=0.1:8] (\x, {-1/\x}) |- (0.1,-1/0.1) --cycle;
\draw[red!20,xstep=0cm,ystep=0.5cm,rotate=-45] (-25,-25) grid (15,15);
\end{scope}
% Fill between
\begin{scope}
\clip plot[samples=51,domain=0.1:8] (\x, {-1/\x}) -- plot[samples=51,domain=8:0.1] (\x, {1/\x}) -- plot[samples=51,domain=-0.1:-8] (\x, {-1/\x}) -- plot[samples=51,domain=-8:-0.1] (\x, {1/\x}) -- cycle ;
\draw[orange!40,xstep=0cm,ystep=0.5cm,rotate=-45] (-25,-25) grid (15,15);
\draw[orange!40,xstep=0cm,ystep=0.5cm,rotate=45] (-25,-25) grid (15,15);
\node[above right] at (0,0){$(A_5)$};
\end{scope}
\addplot[line width=2pt,color=blue,smooth,samples=51,domain=-8:-0.1] {(1/x)};
\addplot[line width=2pt,color=blue,smooth,samples=51,domain=-8:-0.1] {(1/x)} node[pos=0.1,below=40mm]{$(A_3)$}node[pos=0.1,below=20mm,right=40mm]{$(\mathcal{C}_1)$};
\addplot[line width=2pt,color=blue,smooth,samples=51,domain=0.1:8] {(1/x)} node[pos=0.95,above=20mm]{$(A_1)$}node[pos=0.95,above=20mm,left=50mm]{$(\mathcal{C}_1)$};
\addplot[line width=2pt,color=red,smooth,samples=51,domain=0.1:8] {-(1/x)} node[pos=0.95,below=40mm]{$(A_4)$}node[pos=0.95,below=20mm,left=50mm]{$(\mathcal{C}_2) $};
\addplot[line width=2pt,color=red,smooth,samples=51,domain=-8:-0.1] {-(1/x)} node[pos=0.1,above=30mm]{$(A_4)$}node[pos=0.1,above=20mm,right=40mm]{$(\mathcal{C}_2) $};
\end{axis}
\end{tikzpicture}
\end{document}
which yields:

In this case, I've added two rotated grids.
reverse clipas defined in the answers to this question How can I invert a 'clip' selection within TikZ? as well asfillbetweenfrom pgfplots. – AndréC Jul 18 '20 at 17:55