Blog

Blog

PHODAL

2015节点——从翻译到浮现式设计

在和我的Sponsor(就是可以帮助你成长的人) Review完这一年的事情的时候,我发现还是做了许多事。接着又到一年一度吹NB的时间了,唯一可以吹的是我在年初过了试用期,年底需要开始去帮助别人成长。

尽管没有什么特别大的收获,但是还是发现了一些有意思的东西,值得分享一下。

翻译与写作

去年年底到今年年初审阅的《Learning Internet of Things 》终于是出版了,然后收到英文原版的书籍。不得吐槽一下这个EMS从西安市到我们公司的时间,比英国到西安的时间还长。收到书之前就已经接到出版社的联系开始翻译这本书,然后厚颜无耻地在审阅者一页又改了一下我的简介。谁让我是审阅者,又是译者呢。尽管在审阅的时候已经意识到会翻译这本书,但是还是没有在当时做。

翻译是一个漫长又乏味的过程,特别是你已经看了这本书一遍了。翻译到底还是一件很难入门的事,在最开始的时候很难去把握作者的思想,会出现各种各样的翻译问题。当我那学中文的女友帮我过了一遍后,我才意识到我写的东西很多时候因为看了很多书籍,而变得有些翻译化。随后在渐渐地把握了一些节奏后,发现我差不多可以翻译得有点味道的时候,就已经翻译完了。

不过自己变成了一个翻译,再也不会去骂别人的翻译了。毕竟我们都为大家降低书费支出作出了一点点贡献,想想原版书那么贵。更有甚者帮助你提供了你的英语能力——逼迫你去去看原版书。

紧接着我开始去翻译另外一本书,发现英语水平真的有些提高——毕竟我是考了两次英语四级没过的人。在接受了翻译的时候,在去年写的《一步步搭建物联网系统》也可以变成一本书了。踏入了出版业,我才意识到能力结构金字塔的重要性。下面的图来自网络:

能力金字塔

一般来说大部分出版社愿意出版的初级是面向初级、中级人才的,特别是对于国内这样的IT环境来说——高级IT人才特别少,据说都是转管理了。那么由国内的作者写出诸如《面向模式的软件架构》这样的书籍变得比较难,不仅仅是因为读者少,而且还在于稿费不及这些作者写作时花出的时间支出。试着往这方面考虑,就会发现一些特别有意思的东西。看待世界的想法又会发生一些变化 ,诸如我这样的人,我觉得出版是一件麻烦的事,我倒是更愿意在GIthub上分享出一些书籍、知识。如

但是有时候有意图的去写一些东西,倒是能逼迫自己去深入一些技术和框架。总的来说是各有利弊,看自己去衡量了。然后有幸成为了InfoQ的《物联网周报编辑》,又是一次加深领域知识的机会。就这样成为一名程序员中的编辑,然后我就向终极理想写小说又迈进一步了。

不过,现在我又变成了这个领域的新手。

模式、架构与浮现式设计

今年在Github上建了几十个Repo,大部分都以实战为主,并开始向一些特有的模式发展。说到底还是实现一个软件的架构比深入一个领域来得有意思,虽然最后还是应该深入某一个领域。但是现在,还是让我们自由地生长吧。

学得最好的算是『六边形架构』和『pipe and filter』模式了,代理这种就算过去式了。六边形架构模式就是懒人的最好架构,除此还有最简单的分层模式,如下的Lan IoT算是一个结合:

Lan IoT

模式就是最好的架构。接着,我开始去探索模式如何去具体的应用。开始去创建一些能具体应用的一些场景,并编码去实现其的模式。不过,多数时候都会是一场空。当我可以实现这个模式的应用的时候,我就能做出来。而多数的时候并不是这样的,模式被强加到了一个具体的设计中。

这是一开始我没有意料到的点——模式是总结出来的。而就编码来说,设计模式也应该是重构出来的。一开始以某种设计模式作为理想化的设计,那就类似于瀑布流式的设计。定义好一个接口,并去实现之。并不是说预先设计不好,只是不会如预期的好。而一个模式可以让程序员之间有一个更好的交流接口,他们可以更快地了解到设计本身所含的一些思想。

然后,我就了解到了浮现式设计的概念。可以演进的系统就是最好的系统,假定一开始我们就将系统限制于某种模式来构建,那么我们就会以这种模式来构建我们的系统。而业务本身就是不断变化的事务,因为人本身在不断地变化。同蝴蝶效应一样,可能只是你多余的一个手势,影响到了另外一个人,从而改变了系统的设计。如果你也知晓蝴蝶效应,那么这个模式就是我们的语言,你也就更能理解这句话。

如果在我们系统的后期,我们维护起来比重写起来方便,那么就意味着这个系统本身有着很好的设计。而这也是我要去学习的地方。

尽管我们已经学了很多,但是这又是一个有意思的开始。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《前端架构:从入门到微前端》

《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。

前端架构包含以下五部分内容:

  • 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
  • 基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
  • 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
  • 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
  • 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签