1. Design Patterns and Architectural Patterns
What is the difference between design patterns and architectural patterns? Design patterns offer a common solution to a common problem in the form of classes working together. They do not influence the fundamental structure of a software system. Design patterns may help implement an architectural pattern. For example, the observer design pattern is helpful when implementing a system according to the MVC architectural pattern or the Blackboard design pattern for implementing a Blackboard system.
An architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and …show more content…
4. Advantages
The advantages of the blackboard design pattern include:
1. Modularity – the control shell operates multiple separate modules, all of which perform a specific task, making development and maintenance easier
2. Flexibility and extensibility – you can easily add, delete or improve modules without altering the rest of the system, requiring minimal effort
3. The control shell can decide which module is the most suitable for the task at hand, making the product more efficient
4. Software reuse – the already built modules can easily be used again in future projects
5. If you are a big team of developers it’s easier to distribute your work by having small teams work on different modules
5. Disadvantages
Blackboard systems are not used very often. This is due to some of the following reasons:
1. Blackboard solutions don’t scale very well to small problems – if you use it for a small project it will require more time to develop
2. Once you develop a blackboard system it can be restructured without the blackboard design
3. Not popular among