First thing that comes to mind if you think about patterns in test automation is Page Object pattern. Almost all know it and almost all use it, but it’s not the only software development pattern, that you can use in your test automation suites making them flexible and maintainable.
I would like to focus on two subjects. First show how to extend Page Object pattern and design your pages using factories and using how use entities in your tests in order to facilitate your assertions and make them clear and meaningful. Beneath that I would like to present how benefit from command and builders in your test code.