I love these two page articles that make it all sounds so simple! :smileylol:
In reality, it seldom is.
The first thing I don't like is their POM. A class per page feels like it would get VERY big, VERY quickly.
Personally, I use locators ("where" is a control) and handlers ("do stuff" to control - I have one or more functions per control. One would be ideal, but some controls are complex and require additional functions). These form the core of most of the input require for my tests. And are completely application agnostic and portable.
So you use a locator to "point" to a control in the driver data. Then tell it the control type it should find there, and what it should do with it. (Along with any required input data and expected results of course) If I had to create a new class for every page/panel? I'd be here until doomsday! My locator and handler seems to be holding up well and avoids duplication very well.
Of course, I do have other functions. For common operations, validations, some application specific, some "shortcut" ones which are there simply to make the input a little less long winded in certain cases. But the core is definitely locators and handlers. And a good, well prepared, robust object map!