软件设计与交互方式的演进
1. 软件设计基础原则
在软件设计中,合理的设计工作存在一定的限制,这取决于具体情况的优先级。在设计过程中,始终需要进行一些权衡。从长远来看,接口比实现更为重要,即实体间效率比实体内效率更关键,因为功能导向的核心是开发效率比执行效率更重要。同时,从用户的角度看,接口的重要性也高于实现,出色的系统内部结构可能会因功能可用性差而被忽视。
在设计时,还需要平衡业务中的时间和预算因素,这可能导致放弃一些长期的最佳设计方案。不过,要考虑到从长远来看,用户更关注产品本身,而非生产产品所花费的时间和金钱。为了便于后续分析,明确记录每个被识别但设计为常量的潜在系统变量是非常有益的。
1.1 C++ 中的模板特性
C++ 具有模板特性,它允许一组代码在编译时应用于多个类(一次一个)。模板本质上是一个文本替换器,但它是编译器的一部分,而非预编译器,围绕(数据)类型检查构建,与数据类型具有交互性。结合多重继承,模板可作为代码生成的基础。
通过分层模板参数,模板能够在编译时将类绑定在一起,这种能力提升了绑定的层次。编译器的分层和交互式评估会导致递归替换,特定兼容类型的模板和类的组合会产生递归替换,从而生成大量编译器生成的代码。
1.2 功能导向设计的哲学
从编程到设计的理解提升过程中,功能导向是下一个发展阶段。功能导向设计不仅要考虑重新定向的结构,更重要的是要理解复杂的交互机制,这需要对系统的一般特性以及如何最佳管理它们有深入的理解,从而形成多维模式的思维集合。
设计的另一个维度是理解同一类的多个实例如何同时访问相同的持久对象集合。在某些情况下,如删除、排序和备份操作,整
超级会员免费看
订阅专栏 解锁全文
176万+

被折叠的 条评论
为什么被折叠?



