Classical shell-and-tube design - a group of heat exchange tubes for one coolant is located inside the shell, along which another coolant moves.
Pipe-in-pipe is a simplified version where another conductive pipe is located inside one conductive pipe. The design is very simple and cheap to implement, but has a low heat transfer efficiency.