The Bridge pattern is ideal for building cross-platform applications. By completely separating the class interface from the implementation, programs can interchange the actual implementation of a particular subsystem without requiring any changes in other parts of the code.
Continue reading
Tag Archives: Software Sagacity
Elements of an Enterprise-Grade Web Framework – Part 3: Data-Bound Drop-downs
Drop-down list-of-values populated by database tables are another important component of enterprise-grade web frameworks. Although most frameworks do support them through one technique or other, the ease of implementation is key in this often-used feature.
Continue reading
Elements of an Enterprise-Grade Web Framework – Part 2: Existing Database Schemas
A powerful database schema is one of the key components of an enterprise application. Using the database to enforce business logic and ensure data integrity enables both flexibility and scalability in application design. By coding business logic in both the database layer and application layer, the database has the flexibility to then also be used by other applications and processes without fear of corrupting data. In addition, other systems can take advantage of stored procedures or views that make future development easier, instead of the platform lock-in created by storing all business logic in the application itself.
Continue reading
When Optimization Breaks Software
It’s well known that most of the code we write is not what the computer actually runs. When writing a program, the compiler or runtime will take the code and perform a process called “optimization,” where various methods are applied to make the code more efficient so that it will execute faster.
Continue reading
ASP.NET – Custom Query Interfaces
When developing web-based forms using the ASP.NET platform, one of the basic tools that is lacking from the framework is an effective search mechanism. Custom queries seem to have been neglected due to their apparent complexity, and their non-geometric fit into the ideology of most frameworks. Still, a good search tool is very useful to users for finding relevant data in a large database. As such, we have developed a few tools and methodologies to make search implementation easier in web applications.
Continue reading
Database Design Principles – Part 5: Isolate Semantically Related Multiple Relationships
In the previous database design post, we discussed isolating independent multiple relationships. The goal was to find relationships in the database that were independent, yet incorrectly bound to the same row. This last and final database design principle helps us find data that is too flexible, and can instead be combined to help reduce database size and optimize speed.
Continue reading
Database Design Principles – Part 4: Isolate Independent Multiple Relationships
In part 4 of this 5-part series on database design principles, we review Independent Multiple Relationships. By isolating relationships so that the database structure is fully hierarchical, the software will be more adaptable to future user needs, and require less reprogramming when the requirements will inevitably change in the future.
Continue reading
Database Design Principles – Part 3: Eliminate Columns Not Dependent on Key
In the third of this five part database design series, we review the database design rule of removing columns not dependent on the key. Similar to removing redundant data, this rule will make the database more flexible and maintainable throughout the lifecycle of the system.
Continue reading