如何解释android(myapplication)应用程序架构?

如何解释android(myapplication)应用程序架构?,android,Android,我正在开发一个名为calculator的android应用程序。在这个应用程序中,我有不同的方法,如add()、subtract()、Multiply()等。有人问我“你的计算器应用程序的体系结构是什么?”。对于上述问题,我应该说些什么?软件应用程序的“体系结构”是一个广泛的问题。老师们通常会在面试中询问,他们想知道你在一个解决方案中投入了多少设计,而不是简单地修改它 体系结构可以包含以下任何一项,并附带一些虚构的示例 基础知识和平台- 我的计算器应用程序是一个全屏幕Android活动,是由我编

我正在开发一个名为calculator的android应用程序。在这个应用程序中,我有不同的方法,如add()、subtract()、Multiply()等。有人问我“你的计算器应用程序的体系结构是什么?”。对于上述问题,我应该说些什么?

软件应用程序的“体系结构”是一个广泛的问题。老师们通常会在面试中询问,他们想知道你在一个解决方案中投入了多少设计,而不是简单地修改它

体系结构可以包含以下任何一项,并附带一些虚构的示例

基础知识和平台-

我的计算器应用程序是一个全屏幕Android活动,是由我编写的 在Java中使用Android API“

我的计算器应用程序是一个Android桌面小部件

我的计算器应用程序实际上是一个托管在云端的网页。Android应用程序只是托管网页

该应用程序是用Xamerin编写的,因此我可以稍后将其移植到iOS

编码语言

整个应用程序都是用Java和Android API编写的

该应用程序的UI是用Java编写的,但calc引擎本身是用Java编写的 用C语言编写。我使用Android NDK编译计算器引擎

您是如何设计代码的

该应用程序采用MVC设计。MainActivity类管理显示和按钮,并与我的计算器引擎模型对话

我有一个活动类,它持有模拟计算器的按钮和注册状态

您的核心算法是基于什么建模的

我用三个虚拟寄存器模拟了一个便宜的桌面计算器,它们充当输入缓冲区、显示和操作数

我使用整数运算,自己跟踪十进制精度

我使用了一个大的数字库,这样我的科学计算器就可以精确地对大数字进行浮点运算

您自己的内部数据结构和类

我有一个用于UI的活动类,一个用于计算器状态的类,还有一个用于跟踪键入历史的类

该应用程序使用多个线程来更快地计算结果

计算器引擎保留一个堆栈来模拟反向波兰符号,一个链表用来保存显示器上数字的状态,以及一个哈希表来记录用户操作和代码操作

将所有内容放在一起


没有什么比图片更能解释软件体系结构了。要么是简单的方框和线条的数据流图,要么是显示类层次结构的正式UML图。

答案是:自己做作业,好吗?你用谷歌搜索过吗?它指的是你在应用程序中使用过的类。它们做什么?它们被调用的顺序应用程序功能的简短工作流程您可以告诉他们定义整个应用程序的不同组件。例如,您必须定义不同的包,如活动、数学计算等。告诉他们这些组件如何交互以获得所需的结果。您的问题不适用于Stackoverflow,正如“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件”(来自)。