智能家居系统为什么装修前要要单独设计?

智能家居系统为什么装修前要要单独设计?,第1张

当中智能家居系统是包含多个子系统。每个子系统都需要相互兼容和配套,才能真正体验系统的方便和智能化;
他们之间如何连接?产品之间能实现如何联动,又是怎样的玩法?这些在一个系统平台和不同的传感器搭配下有多少种玩法?如何布线对于非专业的朋友来说了解非常有限;虽然某一个方面看来非常简单易理解,例如:WiFi覆盖、照明系统等。
但是你要把家里的家电、智能窗帘、背景音乐、安防监控、智能门禁、恒温恒湿等,他们之间的连接和协调控制就不是一个简单的问题了;其次外部设备品牌功能各异,是否兼容等我们都得考虑。其次,不同家庭人员实际需要各不相同,因此需要单独设计,这样家装才能有的放矢,免得以后忘这忘那,后悔遗憾。作为天弢智能长期从事智能家居系统设计的人员来说,对智能家居系统有全面了解,能够为你提供较好的设计思路和场景体验效果,容易满足未来扩展的需要。天弢智能作为源头公司,自主研发,专注产品的功能与设计,不同于市面的经销商,只为负责跟卖产品,不做深层次的智能化考虑,而且智能化开发,可融入系统多,更多的融入于市场家庭。

开发之间的重要问题

这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方?开发人员要具备怎样的技能?要从哪里先开始?

物联网应用开发的始占在于它本身。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式 *** 作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。

系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。

接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。

如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。

这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。

现在市场上有许多公司都在提供这类平台。这有Xively、Mnubo、BugLabs和ThingWorx,他们都有能力与不同的制造商产生的大量“事物”进行沟通。

还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。

在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢?

在研究分层架构时,常通过概念性的定义或 OSI 七层应用(架构)来说明或解释分层架构:

取自《 POSA , VolI , p22 》

作为一个在项目中引入分层架构的应用者,我们应该从更具体的规范来实现分层架构:

《 POSA , VolI 》 为我们提供了更多的实现规范,然而我要解决的是有关层的 单向依赖 问题。因为有一些人在使用分层架构时,尤其是将分层架构引入到项目的目录结构时,对于某些对象的划分(从属)存在一些混乱问题。

如果你有兴趣了解更多分层架构的实现规范,可参考:《 POSA , VolI 》第二十六页到第二十九页相关知识。

在领域驱动设计(DDD)中采用的是 松散分层架构 ,层间关系不那么严格。每层都可能使用它下面所有层的服务,而不仅仅是下一层的服务。每层都可能是半透明的,这意味着有些服务只对上一层可见,而有些服务对上面的所有层都可见。

注意:松散分层架构依然是单向依赖,表明上层只能调用下层的服务,下层不能调用上层的服务。

同时在领域驱动设计(DDD)中也采用了 继承分层架构 ,高层继承并实现低层接口。我们需要调整一下各层的顺序,并且将 基础设施层 移动到最高层。

注意:继承分层架构依然是单向依赖,这也意味着领域层、应用层、表现层将不能依赖基础设施层,相反基础设施层可以依赖它们。

领域层 UserRepository 接口:

基础设施层 JpaUserRepository 实现类:

我们确实使用包来划分层级,但是包名并不能真正表示分层。

我们通常将资源库的实现放置在基础设施层,这是因为我们采用了 继承分层架构 。如果你现在采用的是 松散分层架构 ,你需要将资源库的实现放置在领域层。这是层的单向依赖原则所致,你不应该破坏这个原则。没有任何理由需要破坏分层架构的单向依赖原则,除非你不采用分层架构。

我们应该从混乱到有序的这个历史过程去研究(分析)分层架构,尤其是我们现在处在前后端分离的环境下,应用系统使用分层架构又面临着什么样的划分变化。

应用系统使用分层架构在第三阶段基本已经成熟。因为我们要探讨的是有关领域驱动设计(DDD)的分层架构,所以我们依然需要做进一步补充。具体包括两方面的补充:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/dianzi/10778686.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存