架构师应该知道的97件事

本文汇集了多位专家关于软件架构的97条宝贵建议,涵盖了从需求分析到系统设计的各个方面,强调了沟通、简化复杂性及关注业务价值的重要性。

97 Things Every Software Architect Should Know - The Book

http://97-things.near-time.net/wiki/97-things-every-software-architect-should-know-the-book

 

  1. Don't put your resume ahead of the requirements   by Nitin Borwankar
  2. Simplify essential complexity; diminish accidental complexity   by Neal Ford
  3. Chances are your biggest problem isn't technical    by Mark Ramm
  4. Communication is King; Clarity and Leadership its humble servants   by Mark Richards
  5. Architecting is about balancing    by Randy Stafford
  6. Seek the value in requested capabilities   by Einar Landre
  7. Stand Up!    by Udi Dahan
  8. Skyscrapers aren't scalable   by Micheal Nygard
  9. You're negotiating more often than you think   by Michael Nygard
  10. Quantify   by Keith Braithwaite
  11. One line of working code is worth 500 of specification by Allison Randal
  12. There is no one-size-fits-all solution   by Randy Stafford
  13. It's never too early to think about performance   by Rebecca Parsons
  14. Application architecture determines application performance   by Randy Stafford
  15. Commit-and-run is a serious crime. Respect your Colleagues   by Niclas Nilsson
  16. There Can be More than One   by Keith Braithwaite
  17. Business Drives   by Dave Muirhead
  18. Simplicity before generality, use before reuse   by Kevlin Henney
  19. Architects must be hands on   by John Davies
  20. Continuously Integrate   by Dave Bartlett
  21. Avoid Scheduling Failures   by Norman Carnovale  
  22. Architectural Tradeoffs   by Mark Richards
  23. Database as a Fortress   by  Dan Chak
  24. Use uncertainty as a driver   by Kevlin Henney
  25. Scope is the enemy of success   by Dave Quick
  26. Reuse is about people and education, not just architecture   by Jeremy Meyer
  27. There is no 'I' in architecture    by Dave Quick
  28. Get the 1000ft view   by Erik Doernenburg
  29. Try before choosing   by Erik Doernenburg
  30. Understand The Business Domain   by Mark Richards
  31. Programming is an act of design   by Einar Landre
  32. Time changes everything   by Philip Nelson
  33. Give developers autonomy   by Philip Nelson
  34. Value stewardship over showmanship   by Barry Hawkins
  35. Warning, problems in mirror may be larger than they appear   by Dave Quick
  36. The title of software architect has only lower-case 'a's; deal with it   by Barry Hawkins
  37. Software architecture has ethical consequences   by Michael Nygard
  38. Everything will ultimately fail   by Michael Nygard
  39. Context is King   by Edward Garson
  40. It's all about performance   by  Craig L Russell

  41. Engineer in the white spaces   by Michael Nygard
  42. Talk the Talk   by Mark Richards
  43. Heterogeneity Wins   by Edward Garson
  44. Dwarves, Elves, Wizards, and Kings   by Evan Cofsky
  45. Learn from Architects of Buildings   by Keith Braithwaite
  46. Fight repetition by Niclas Nilsson
  47. Welcome to the real world by Gregor Hohpe
  48. Don't Control, but Observe by Gregor Hohpe
  49. Janus the Architect by Dave Bartlett
  50. Architects focus is on the boundaries and interfaces   by Einar Landre

  51. Challenge assumptions - especially your own by  Timothy High

  52. Record your rationale   by Timothy High
  53. Empower developers   by Timothy High

  54. It is all about the data   by Paul W. Homer

  55. Control the data, not just the code    by Chad LaVigne

  56. Don't Stretch The Architecture Metaphors by David Ing

  57. Focus on Application Support and Maintenance   by Mncedisi Kasper
  58. Prepare to pick two by Bill de hOra
  59. Prefer principles, axioms and analogies to opinion and taste   by Michael Harmer
  60. Start with a Walking Skeleton   by Clint Shank
  61. Share your knowledge and experiences by Paul W. Homer
  62. Make sure the simple stuff is simple   by Chad LaVigne
  63. If you design it, you should be able to code it   by Mike Brown
  64. The ROI variable by George Malamidis
  65. Your system is legacy, design for it   by Dave Anderson
  66. If there is only one solution, get a second opinion   by  Timothy High
  67. Understand the impact of change   by  Doug Crawford  
  68. You have to understand Hardware too   by  Kamal Wickramanayake
  69. Shortcuts now are paid back with interest later   by  Scot Mcphee
  70. "Perfect" is the Enemy of "Good Enough"    by  Greg Nyberg
  71. Avoid "Good Ideas"   by  Greg Nyberg
  72. Great content creates great systems   by  Zubin Wadia
  73. The Business Vs. The Angry Architect by Chad LaVigne
  74. Stretch key dimensions to see what breaks   by  Stephen Jones
  75. Before anything, an architect is a developer   by  Mike Brown
  76. A rose by any other name will end up as a cabbage    by  Sam Gardiner
  77. Stable problems get high quality solutions   by  Sam Gardiner
  78. It Takes Diligence   by Brian Hart
  79. Take responsibility for your decisions   by  Yi Zhou
  80. Dont Be a Problem Solver   by  Eben Hewitt
  81. Choose your weapons carefully, relinquish them reluctantly by Chad LaVigne
  82. Your Customer is Not Your Customer   by  Eben Hewitt
  83. It will never look like that   by Peter Gillard-Moss
  84. Choose Frameworks that play well with others   by  Eric Hawthorne
  85. Making a strong business case   by  Yi Zhou
  86. Pattern Pathology   by  Chad LaVigne
  87. Learn a new language by  Burk Hufnagel
  88. Dont Be Clever   by Eben Hewitt
  89. Build Systems to be Zuhanden by Keith Braithwaite
  90. Find and retain passionate problem solvers   by Chad LaVigne
  91. Software doesnt really exist   by  Chad LaVigne
  92. Pay down your technical debt   by  Burk Hufnagel
  93. You can't future-proof solutions   by Richard Monson-Haefel
  94. The User Acceptance Problem by Norman Carnovale
  95. The Importance of Consommé   by  Eben Hewit
  96. For the end-user, the interface is the system    by Vinayak Hegde
  97. Great software is not built, it is grown    by  Bill de hora
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究与改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性与调参技巧。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值