I want to add some settings which the admin of the site can change.
First idea came to my mind is to create an N2 page called settings, and every property of this page is single setting, and each time I need to get the settings I have to search for the first N2 page of the type Settings.
The problem with this approach is that I can't control how many Settings page the admin can add, and may be he added more than one.
So another idea came to my mind. Create an independent controller and a class called settings and have a corresponding database table.
Does anyone have better ideas?
I think your second idea might be best - a custom controller and table. That is if the 'settings' are not related to N2 itself. If they are, then I guess that N2 probably offers a way to do that.
But if the settings you'd like to offer to your user isn't related to how N2 works, then I wouldn't worry about it, and just create an independent controller, class and corresponding database table.