在面向对象的设计过程中的什么地方选择了架构模式?

Where in the object-oriented design process is an architecture pattern chosen?

大多数面向对象的分析和设计书籍和资源都描述了分析阶段之后是识别 类 的过程。我知道经验通常会让您了解应该应用哪种架构(如果有的话),但是在面向对象的设计阶段是否有特定的点应该发生?我即将开始一个大型个人项目,我想确保我选择的体系结构不会忽略分析阶段的某些内容。

这个问题暗示架构模式是一次性选择的。在理想的世界中(需求不变,开发人员可以读懂 client/stakeholder 的想法),可能会预先提出一个庞大的设计并坚持下去。那永远不会发生。想出既实用又设计良好的软件的唯一方法是随着需求变得更加清晰而不断重构。在重构的每个阶段,子系统都可能需要不同的架构模式。

当然,以某种"plan of attack"进入项目很重要。但是不要指望设计阶段一旦完成就结束了。没有人预先了解所有要求(即使您是自己的客户)。事情总会变的。

简而言之,如果您在整个开发过程中都没有选择架构模式,那么您要么没有头脑 reader,要么正在积累技术债务。