On 11May2019 14:59, Cranky Frankie <cranky.fran...@gmail.com> wrote:
I'm a long time IT professional trying to teach myself object-oriented
programming. As such I want to build a traditional PC app using MVC (Model
- View - Controller) architecture. Just want to make sure I'm heading about
this in the best way so I'm looking for some direction.

For the Model or persistence layer I want to use SQLite.

That's reasonable. I'm trusting you're aware of SQL injection issues and will be constructing your SQL with '?' parameter placeholders to avoid this?

For the View or
GUI I want to use wxPython. For the Controller I want to of course use
Python. I'm also planning on using Git for source control.

All reasonable.

1) For the IDE I'm most comfortable with Netbeans/Java, but I'm forcing
myself to try and get comfortable with PyCharm. Is it worth sticking it out
with PyCharm, or should I go with the Python module in Netbeans? Or is
there another IDE I should look at?

I haven't an opinion about IDEs except that unless the IDE doesn't work with Python for whatever reason, there's no reason to switch IDEs unless you want to learn a specific new IDE.

Several of us don't really use IDEs and just use editors and terminal windows, though that is less common in the Windows world.

Just use what already works unless there's some feature elsewhere which you need.

[...]
3) For the O-O part, I'm comfortable with Inheritance and Composition. Do I
need to worry about any of the more advanced design patterns? This app will
be for vehicle ownership - tracking maintenance, etc. Nothing fancy.

I wouldn't worry. Python mostly does inheritance; I suppose mixin classes (inherits) are like composition.

The biggest change you'll find coming from Java is likely the typing: Python _values_ are strongly typed, but the variables are not - they can refer to a value of any type. And there aren't really Java interfaces.

However, there are lint tools to look for issues like this.

Oh yes: more than one class per Python source file - group them by package/module/topic.

Cheers,
Cameron Simpson <c...@cskk.id.au>
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to