In Keras, network architectures can be defined using either the Sequential class or the functional API. The former is simpler; the latter is more flexible. Here is a pair of Jupyter notebooks where the two are put side by side, coding 10 sample networks demonstrating different combinations of Conv2D, Dense, MaxPooling, Flattening and Dropout layers.
The two notebooks are downloadable from:
https://gist.github.com/marypwchin/30c633170c5616b32ee6d23c3f056cc2
https://gist.github.com/marypwchin/f7fa3e570b62ed863d0c76f443ad45d4