O'Reilly logo

PHP and Smarty on Large-Scale Web Development by Vitor Rodrigues, Bruno Pedro

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Divide and Conquer

Divide and conquer is a well-known method for delivering complex projects by breaking the whole project into smaller tasks until those tasks are simple enough to be solved directly.

Divide and conquer also has the advantage of being a natural target for parallelization. This means that different people can solve different tasks at the same time, shortening the overall development time. This can be a great advantage particularly if your team is following the waterfall model[*] of software development.

Dividing Efficiently

Always divide tasks according to their functional domain first, and only then within the same domain. It will help you assign tasks more easily.

To begin with, after you decompose your large project into smaller tasks, you need to be able to implement those tasks separately. That's a lot easier if you adopt a modular architecture from the start.

Modular Architecture

One of the principles of large-scale web development is to use a modular architecture on your projects. Modularity can best be achieved by following the object-oriented programming (OOP) paradigm, which provides some important characteristics of software design, as you can see here:

Inheritance

A way to create new classes using previously defined classes. The new classes inherit attributes and operations of the pre-existing classes. This approach highly incentivizes the reuse of existing code.[]

Modularity

The measure of the way an application is divided into components, or modules. On a modular ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required